草庐IT

强制关闭defender

全部标签

c# - 如何强制所有程序线程在程序关闭时退出?

如何确保在关闭主窗口后所有程序线程都中止? 最佳答案 您可以将“IsBackground”属性设置为true。CLR在应用程序退出时关闭所有后台线程。 关于c#-如何强制所有程序线程在程序关闭时退出?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7685909/

c# - 从另一个线程关闭表单

我有这段运行.exe的代码stringopenEXE=@"C:\Users\marek\Documents\VisualStudio2012\Projects\tours\tours\bin\Debug\netpokl.exe";Processb=Process.Start(openEXE);b.EnableRaisingEvents=true;b.Exited+=(netpokl_Closed);当它关闭时,它调用方法netpokl_Closed。问题是当我insertintonetpokl_Closedcommand-this.Close()这个异常出现:Cross-threado

c# - 如何强制在 C# 中调用基本构造函数?

我有一个所有其他页面派生自的BasePage类:publicclassBasePage这个BasePage有一个构造函数,其中包含必须始终运行的代码:publicBasePage(){//Importantcodehere}我想强制派生类调用基构造函数,如下所示:publicMyPage:base(){//Pagespecificcodehere}我如何强制执行此操作(最好是在编译时执行)? 最佳答案 基础构造函数总是会在某个时刻被调用。如果您调用this(...)而不是base(...)那么它会调用同一个类中的另一个构造函数-这将

c# - 所有 C# 强制转换都会导致装箱/拆箱

我很想知道C#中的所有强制转换是否都会导致装箱,如果不是,所有强制转换都是代价高昂的操作吗?示例取自BoxingandUnboxing(C#ProgrammingGuide)inti=123;//Thefollowinglineboxesi.objecto=i;这一行显然会导致装箱(将int类型包装成一个对象)。这是一项被认为代价高昂的操作,因为它会产生将被收集的垃圾。来自2种不同类型的引用类型的强制转换怎么样?成本是多少?可以适当测量吗?(与前面的例子相比)例如:publicclassA{}publicclassB:A{}varobj=newB();varobj2=(A)obj;//

c# - 应该多久关闭/打开一次连接?

我正在从C#逐行写入SQL服务器上的两个表。我的C#应用程序将参数传递给2个存储过程,每个存储过程都将行插入表中。每次调用存储过程时,我都会打开然后关闭连接。我需要将大约100m行写入数据库。我是否应该在每次调用存储过程时关闭和打开连接?这是我正在做的一个例子:publicstaticvoidInsert_TestResults(TestResultstestresults){try{DbConnectioncn=GetConnection2();cn.Open();//storedprocedureDbCommandcmd=GetStoredProcCommand(cn,"Inser

c# - 在编译时强制进行狭窄的隐式强制转换

我正在尝试定义一个结构,该结构使用具有有限范围数字的变量和来自整数的隐式强制转换。如果此结构使用任何常量或其他硬编码值,我希望能够强制生成错误。这是我正在尝试完成的示例。bytea=123;//Allowedbyteb=123123;//Notallowedconstintx=123;constinty=123123;bytec=x;//Allowedbyted=y;//Notallowed理想情况下,我希望能够,例如,将数字限制在1到99之间,以便MyStructs=50;有效,但MyStructs=150;导致像上面的字节b和d那样的编译时错误。我找到了somethingsimil

c# - 在嵌入式资源上强制 Visual Studio 重建已更改

我们有一个SQL文件,它是我们解决方案中的嵌入式资源。当sql文件更改并且我们单击调试时,如果实际C#代码没有更改,解决方案不会使用嵌入式资源重建项目。从我记事起,我就在使用其他解决方案时遇到过这个问题,而且我个人知道执行构建解决方案以确保它被构建......但这已经成为许多新开发人员的问题,他们可以不记得这样做,当他们对SQL文件的更改没有在调试时反射(reflect)出来时会感到困惑……所以我想知道是否有人知道一个简单的修复方法。 最佳答案 最简单的解决方法是“重建”而不是“构建”。其他人将“清理”然后“构建”以确保100%。嵌

c# - 当应用程序关闭时,我可以检测到后台线程何时被应用程序杀死吗?

我在C#中使用一个线程,我已将IsBackground属性设置为true。线程在循环中运行一些代码,直到应用程序关闭。当应用程序关闭时,线程也停止执行(因为我设置了IsBackground=true)。应用程序如何终止线程?它似乎不是通过调用中止来完成的,因为我没有得到ThreadAbortException。它发生在幕后吗?我想在循环的finallyblock中做一些回滚。我知道我可以自己在线程上调用abort,但我想知道应用程序如何关闭我的后台线程,以及我是否可以从线程内部对此使用react。我知道我可以订阅Application.ApplicationExit事件,但我在服务和w

c# - 如何关闭 resharper 中的 "Convert Extension Method to Plain Static"自动重构?

在使用Resharper时,由于某些原因,当我调用扩展方法时,它会自动将其转换为静态方法调用。这就是所谓的ConvertExtensionMethodtoPlainStatic重构。foo.Bar()成为MyStaticExtensions.Bar(foo);具有讽刺意味的是,它随后将此标记为代码异味。我该如何关闭它? 最佳答案 Resharper的IntelliSense中嵌入了此功能。我经常使用Linq-to-sql扩展,所以我禁用了这个功能:Resharper-选项-IntelliSense-启用RadiobuttonVisu

c# - 如何防止 .NET 库在关闭时发送 RST 数据包

我正在做一些测试,试图隔离库(.NET)中的一些奇怪行为。当我通过C++使用WinsockAPI并简单地调用closesocket()时,我看到Windows端发送FIN/ACK数据包,而远程端发回ACK数据包。这就是我所说的优雅结束。但是,在使用C#进行编程时,我没有看到所谓的优雅关闭。在C#中,我打开我的套接字,然后在关闭它时,我看到Windows在第一次调用Socket.Shutdown()时仅发送一个FIN数据包。但是,无论如何,当我在C#中调用Socket.Close()时,都会发送一个RST数据包并且连接会立即断开。这让我感到困惑,因为根据我在网上阅读的内容,TCP关闭过程