【发布时间】:2014-08-20 07:25:05
【问题描述】:
在我的项目中,当我通过调试运行它时,经过一段时间后,它突然崩溃了。它没有发生在任何特殊时间或特定时期之后。它自己崩溃了,我不知道为什么?!
我收到了这条消息:
An unhandled exception of type 'System.ObjectDisposedException' occurred in System.dll
Additional information: Cannot access a disposed object.
以及它的图片,了解更多信息......
我正在使用 vs 2013 和 C# win form...
这是我的简单代码:
private void btnConnect_Click(object sender, EventArgs e)
{
Result = socketComponent.tcpConnect(Host, int.Parse(Port));
if (Result == 0)
MessageBox.Show("Connected");
}
private void btnDisconnect_Click(object sender, EventArgs e)
{
if (socketComponent != null)
{
socketComponent.tcpDisconnect();
socketComponent.Dispose();
MessageBox.Show("DisConnected");
}
}
点击On btnDisconnect后突然发生。也许在第二次点击或更多...
【问题讨论】:
-
没有异常 StackTrace 可用吗?应该让您轻松追踪问题...
-
@WolfgangZiegler 我更改了图片。它显示 StackTrace。也许它发生在缓冲区的 bcz 中。是否可以?如何处理我的缓冲区异常...?
-
简单!我认为 btnConnect_Click 事件处理程序中也应该有一个空检查,或者可能是重新创建/重新连接 socketComponent 的逻辑。