草庐IT

强制关闭defender

全部标签

c# - ComboBox 强制崩溃(不是我的代码)

我从客户那里得到了下面的堆栈跟踪报告。我不知道如何重现这个。我的WPF应用程序有相当多的组合框;鉴于下面的堆栈跟踪,我不确定如何确定哪个ComboBox失败。还有其他人看到这个吗?你能从这个堆栈跟踪中解释发生了什么吗?有什么想法吗?System.NullReferenceException:Objectreferencenotsettoaninstanceofanobject.atSystem.Windows.Controls.ComboBox.CoerceIsSelectionBoxHighlighted(Objecto,Objectvalue)atSystem.Windows.De

c# - 要关闭套接字,请不要 Close() 套接字。嗯?

我知道TIME_WAIT是TCP/IP不可或缺的一部分,但是关于每秒创建多个套接字并且服务器最终耗尽临时端口的SO(和其他地方)有很多问题。我发现,当使用TCPClient(或Socket)时,如果我调用Close()或Dispose()方法套接字的TCP状态更改为TIME_WAIT并在完全关闭之前遵守超时期限。但是,如果它只是将变量设置为null,套接字将在下一次GC运行时完全关闭,当然可以强制关闭,而无需经历TIME_WAIT状态。这对我来说意义不大,因为这是一个IDisposable对象,GC不应该也调用该对象的Dispose()方法?下面是一些演示这一点的PowerShell代

c# - 从接口(interface)强制执行可序列化而不强制类在 C# 中自定义序列化

我有一个接口(interface),它定义了我希望某些类实现的一些方法。publicinterfaceIMyInterface{MethodA;MethodB;}此外,我希望所有实现此接口(interface)的类都是可序列化的。如果我更改接口(interface)定义以实现ISerializable,如下所示...:publicinterfaceIMyInterface:ISerializable{MethodA;MethodB;}...据我所知,所有类现在都必须显式实现序列化,因为如果您实现ISerializable,则必须实现GetObjectData成员(以及反序列化所需的构造

c# - 使用 COM 端口 - 每次使用后关闭,还是始终打开?

直到现在我需要发送数据时打开,然后立即关闭。我收到随机的“访问端口”错误(尽管我总是在使用后关闭端口),所以我在想也许让它一直开着。假设我需要每隔一两分钟在某些COM端口发送数据,正确的使用方法是什么?谢谢.. 最佳答案 频繁调用SerialPort.Close()是错误的。让另一个应用程序从您那里窃取端口并不是非常可取的。但更有问题的是,您遇到的问题是Close()不等待由SerialPort启动的工作线程退出。该工作线程引发DataReceived、PinChanged和ErrorReceived事件。它需要“一段时间”才能退出

c# - 如何强制报表始终插入分页符?

我在VisualStudio2012中创建了一个包含两个报表定义的报表。主报告部分每辆车重复一次,它有一个子报告,该部分为车辆的每次交付重复一次。主要报表设计如下所示:左侧的橙色条表示已选中所有其他元素所在的矩形。我在上面设置了以下属性:我还在包含其他元素的Tablix上设置了Addapagebreakbefore和Addapagebreakafter:此报表设计上没有其他Rectangle或Tablix。我的问题是它并不总是在前后进行分页。在只有少量信息的页面上,它将每辆车放在同一页面上,如下所示:但是当一个车辆长于一个页面时,它会溢出到下一页,而下一个车辆不会在它之前添加分页符,就

c# - 没有数据时强制 XDocument.ToString() 包含结束标记

我有一个如下所示的XDocument:XDocumentoutputDocument=newXDocument(newXElement("Document",newXElement("Stuff")));当我打电话的时候outputDocument.ToString()对此的输出:但我希望它看起来像这样:我知道第一个是正确的,但我必须这样输出。有什么建议吗? 最佳答案 将每个空XElement的Value属性专门设置为一个空字符串。//Note:Thiswillmutatethespecifieddocument.privatest

c# - C# 自动关闭消息框

我目前正在用C#开发一个应用程序,我在其中显示一个MessageBox。如何在几秒钟后自动关闭消息框? 最佳答案 您需要创建自己的窗口,代码隐藏包含一个加载的处理程序和一个计时器处理程序,如下所示:privatevoidWindow_Loaded(objectsender,RoutedEventArgse){Timert=newTimer();t.Interval=3000;t.Elapsed+=newElapsedEventHandler(t_Elapsed);t.Start();}voidt_Elapsed(objectsend

c# - 如何强制使用 Linq XML 显式关闭标记?

这是同一个问题:ExplicitElementClosingTagswithSystem.Xml.LinqNamespace但我使用Net4.0,答案不再有效。问题是我保存的标签实际上没有值,我的输出XML如下所示:但我需要的始终是开始和结束标签,即问题:怎么做?编辑1添加空节点:if(field_xml==null)//alwaystrue,becauseIcreatethefileforthefirsttime{field_xml=newXElement(XMLKeys.field,String.Empty);table_xml.Add(field_xml);}field_xml.

c# - 如何强制使用扩展方法而不是带有参数的实例方法?

我无法让C#编译器调用我创建的扩展方法,因为它更喜欢使用带有params参数的实例方法。例如,假设我有以下类及其方法:publicclassC{publicvoidTrace(stringformat,paramsobject[]args){Console.WriteLine("Calledinstancemethod.");}}和和扩展:publicstaticclassCExtensions{publicvoidTrace(thisC@this,stringcategory,stringmessage,paramsTuple[]indicators){Console.WriteLi

c# - 如何强制串行端口写入方法在发送数据之前等待线路清除?

这是我正在尝试做的事情的一些背景:打开从移动设备到蓝牙打印机的串行端口。向蓝牙打印机发送EPL/2表格,以便它了解如何处理即将接收的数据。收到表格后,将一些数据发送到打印机,这些数据将打印在标签纸上。根据需要为每个要打印的标签重复第3步。第2步只发生在第一次,因为表单不需要在每个标签之前。我的问题是,当我发送表格时,如果我发送标签数据的速度太快,它将无法打印。有时我会在标签上打印“蓝牙故障:radio无法运行”,而不是我发送的数据。我通过执行以下操作找到了解决该问题的方法:for(intattempt=0;attempt所以基本上,我可以捕获TimeoutException并在等待一定