ObjectDisposedException
全部标签 我正在使用.NET4SerialPort对象与连接到COM1的设备通信。当我完成对设备的操作后,我在SerialPort上调用Close。我不调用Dispose,但我相信Close和Dispose在这里是同义词。通常这工作得很好。然而,有时我会在一段时间后收到以下异常(我看到的时间范围为5毫秒到175毫秒):System.ObjectDisposedException:SafehandlehasbeenclosedatSystem.Runtime.InteropServices.SafeHandle.DangerousAddRef(Boolean&success)atSystem.St
我有一个C#windows窗体应用程序,它通过COM端口与USBdongle通信。我使用.Net2.0中的SerialPort类进行通信,并且串行端口对象在应用程序的生命周期内处于打开状态。应用程序向设备发送命令,也可以从设备接收未经请求的数据。我的问题发生在窗体关闭时-我在尝试关闭COM端口时(不幸的是随机地)得到一个ObjectDisposedException。这是Windows堆栈跟踪:System.ObjectDisposedExceptionwasunhandledMessage=SafehandlehasbeenclosedSource=SystemObjectName=
我的游戏窗口允许手动调整大小,这意味着它可以像任何其他普通窗口一样通过拖动其边缘来调整大小。该游戏还使用了RenderTarget2Drt2d,主要渲染目标在主要绘制方法中设置为:GraphicsDevice.SetRenderTarget(rt2d),但它被重置回null(默认渲染目标)在主要Draw方法的末尾,这让人有点困惑:这真的是问题的根源吗,在RenderTarget设置为rt2d之间调整游戏窗口大小,而不是重置回默认值?现在看起来是这样。主要Draw方法中的代码应该总是将主要渲染目标重置回null,所以没有预期的情况,这通常不会发生。不过,调整游戏窗口大小的结果有时会导
关闭。这个问题需要更多focused.它目前不接受答案。想改善这个问题吗?更新问题,使其仅关注一个问题editingthispost.3年前关闭。Improvethisquestion正确实现IDisposable时,大多数实现,包括框架指南,都建议包含privatebooldisposed;成员,以便安全地允许多次调用Dispose(),Dispose(bool)以及扔ObjectDisposedException在适当的时候。这适用于单个类。但是,当您从一次性资源进行子类化,并且子类包含它自己的native资源和独特的方法时,事情就会变得有点棘手。大多数示例展示了如何覆盖Dipos
我正在运行一些Windows应用程序,它工作了几天然后停止工作没有错误。现在我在事件查看器中发现了这个错误。也许有人知道什么会导致此错误?EventType:ErrorEventSource:.NETRuntime2.0ErrorReportingEventCategory:NoneEventID:5000Date:30.10.2010Time:21:58:57User:N/AComputer:SERVER-PRODDescription:EventTypeclr20r3,P1program.exe,P21.0.0.0,P34cca7ed1,P4mscorlib,P52.0.0.0,P
我有一个C#应用程序,它正在使用消息命中ObjectDisposedExceptionSafehandlehasbeenclosed我一启动应用程序就会发生这种情况。遗憾的是,堆栈跟踪确实没有帮助(见下文)。我有什么办法可以确定这里正在异步尝试调用什么?DoAsyncCall()真的意味着异步方法调用吗?mscorlib.dll!System.Threading.EventWaitHandle.Set()+0xebytesmscorlib.dll!System.Runtime.Remoting.Messaging.AsyncResult.SyncProcessMessage(Syste
我正在使用以下代码:privateWSHttpBindingws;privateEndpointAddressSrv_Login_EndPoint;privateChannelFactorySrv_LoginChannelFactory;privateSrv_Login.Srv_ILoginLoginService;Login是我的构造函数:publicLogin(){InitializeComponent();ws=newWSHttpBinding();Srv_Login_EndPoint=newEndpointAddress("http://localhost:2687/Srv_L
我有一个带有多个API调用的Windows通用项目。一种方法拒绝工作,即使我的其他调用像这样完美地工作。我已经尝试使用using关键字,认为它可以解决问题。函数:publicasyncTaskGetNewUser(stringuser_guid,OAuthTokensOAuth){StringuserguidJSON=VALIDJSON_BELIEVE_ME;using(varhttpClient=newHttpClient()){httpClient.DefaultRequestHeaders.Accept.Add(newMediaTypeWithQualityHeaderValue
我正在尝试在完成写入后处理NetworkStream。我试过将流包装在using()中,如下所示:using(NetworkStreamstream=client.GetStream()){foreach(byte[]commandinfadeSceneOut){if(stream.CanWrite){stream.BeginWrite(command,0,command.Length,newAsyncCallback(SendCallback),stream);}}}但我收到一个System.ObjectDisposedException,说明该对象已被释放,无法在我发送EndWri
这是我的服务器:classServer{staticvoidMain(string[]args){TcpListenerlistener=newTcpListener(IPAddress.Any,5004);listener.Start();TcpClientclient;while(true){client=listener.AcceptTcpClient();if(client.Connected){Console.WriteLine("clientconnected");break;}}NetworkStreamsr=client.GetStream();while(true){