草庐IT

c# - 检测 Windows 防火墙是否阻止了我的程序

我有一个应用程序通过NetApp的api与NetApp设备通信。启用Windows防火墙后,api命令将失败。关闭防火墙后,api命令就可以工作了。我没有收到任何消息,如“Windows防火墙正在阻止此程序”。通过查看文档,我相信我找到了需要打开api命令才能工作的TCP端口。我如何以编程方式检测端口是否被阻止,以便我可以向用户显示有关潜在问题的消息? 最佳答案 防火墙管理器通过COM公开自身并实现IsPortAllowed. 关于c#-检测Windows防火墙是否阻止了我的程序,我们在

c# - 我应该转换我的 lambda 还是转换 IEnumerable?

在我的项目中,我有一个MyClass实现了IMyClass。我需要通过转换其他项目的列表来返回IMyClass的列表。为简单起见,假设我可以创建一个MyClass,只需将另一个项目传递给它的构造函数,即newMyClass(item)。考虑以下两行,它们(据我所知)产生相同的结果:varoption1=items.Select(item=>newMyClass(item)).Cast().ToList()varoption2=items.Select(item=>newMyClass(item)asIMyClass).ToList()在我看来,选项#1需要双重枚举,一次是将所有项目转换

c# - 如何使用 Razor 从我的 View 中调用 Controller 操作?

我有两个Controller-HomeController-Index()-AccountController-Login()在我的Home/Index.cshtml中,我想加载AccountController/Login方法,该方法然后返回一个View并将其显示在我的Home/IndexView中。Home/Index.cshtml我该怎么做? 最佳答案 将其与您实际的Controller/View名称一起使用@Html.Partial("../Home/Login",model)或@Html.Action("action","

c# - 我应该在哪里放置我的域模型以查看模型映射代码?

目前我在我的Controller文件中使用私有(private)静态方法将域模型映射到View模型,反之亦然。如下所示:publicActionResultDetails(intpersonID){PersonpersonDM=service.Get(personID);PersonViewModelpersonVM=MapDmToVm(personDM);returnView(personVM);}privatestaticPersonViewModelMapDmToVm(Persondm){PersonViewModelvm;//MaptoVMreturnvm;}还有其他标准方法可

c# - 如何在我的 JSON 模型类中使用保留关键字作为标识符?

我以前从未使用过WebAPI,但我需要一个可以接受/返回JSON对象的Web服务,使用它似乎是一件合理的事情。它看起来非常简单(如果不是为了我的目的有点矫枉过正),但我需要处理的数据结构看起来像:{"values":["foo","bar"],"default":"bar"}所以我去制作一个模型对象:classDropDownValues{publicstring[]values{get;set;}publicstringdefault{get;set;}}问题是default似乎是一个protected关键字。一定有办法解决这个问题,对吧? 最佳答案

c# - 如何在没有代码隐藏的情况下处理我的 ViewModel 中的 WPF 路由命令?

根据我对MVVM的理解,直接在ViewModel中处理路由命令是一种很好的做法。当路由命令在ViewModel中定义为RelayCommand(或DelegateCommand)时,很容易像这样直接绑定(bind)到命令:Command={BindingMyViewModelDefinedCommand}。实际上,对于在我的ViewModel外部定义的路由命令,我在View的代码隐藏中处理这些命令并将调用转发到ViewModel。但我觉得我不得不这样做很尴尬。它违背了推荐的MVVM良好实践。我认为应该有一种更优雅的方式来完成这项工作。如何直接在ViewModel中处理“System.W

c# - 如何向我的应用程序添加 toast 样式弹出窗口?

我创建了一个在任务栏中运行的应用程序。当用户单击该应用程序时,它会弹出等等。我想要的是与我的一个friend登录时在MSN中的功能类似的功能。显然这被称为toast弹出窗口?我基本上希望每20分钟从任务栏中的应用程序弹出toast样式的内容。我现有的应用程序是基于winforms的,使用C#和.net3.5编写 最佳答案 这很简单。您只需要在屏幕外区域设置窗口并为其位置设置动画,直到它完全可见。这是一个示例代码:publicpartialclassForm1:Form{privateTimertimer;privateintstar

c# - 我的网络应用程序应该有多大的弹性?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion最近,我发现自己和老板就我们的网络应用程序(一个c#asp.netMVC应用程序)中的异常处理发生了很多争论。基本上对话是这样的:老板:“我们的程序出了点问题,客户x的数据库今天宕机了,大家都看到了错误页面。”我:“大多数情况下,应用程序中的每个页面都使用数据库来做某事(错误页面除外),除了显示错误页面之外没有其他合理的选择。”老板:“我们的应用程序应该更具弹性——不需要数据库访问的应用程

c# - 我如何吞下所有异常并保护我的应用程序免于崩溃?

我发现了几个C#应用程序崩溃以响应错误条件,例如obj=null或obj.member=null。很多时候,obj来自3rdPartyApp的界面。并导致3rdPartyApp和MyCsApp一起崩溃。我如何在所有可能的区域添加异常处理,以便我的应用程序能够在这些灾难性情况下生存?将try-catch添加到所有位置并从情况中恢复是一个挑战。我怎样才能以现实、可靠和防弹的方式实现这一目标?[更新:工业自动化控制]结构:GUI(asp.net,c++)-RuntimeApp(C++)-MyCsApp(cs)-3rdPartyApp(Cs)正常程序:HostApp--(通过以太网Cabele

c# - 为什么我的 Grid Tapped 事件没有被调用?

我确实没有在模拟器中点击-因为我的开发机器没有启用触摸-但我不认为这是问题所在,因为我在网格内点击应该会触发事件。这是我的xaml:...还有我的代码:privatevoidGrid_OnTapped(objectsender,TappedRoutedEventArgsargs){if(args.OriginalSource.Equals(grid1)){...我从未参加过Grid_OnTapped事件。我错过了什么? 最佳答案 在你的Grid中设置Background="Transparent"。