问题标签 [objectdisposedexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1987 浏览

c# - c# opennetCF 后台工作者 - e.result 给出 ObjectDisposedException

我是在 C# 中与后台工作人员一起工作的新手。这是一个类,在它下面,你会发现它的实例化,在下面我会为你定义我的问题:

我有类绘图:

实例化此类的对象:

这是我的问题: 在私有 void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)

我没有得到应有的 e.Result。当我调试并查看 e.Result 时,面板的属性有以下异常消息:

所以对象被处置了,但“为什么”是我的问题,我该如何解决这个问题?

我希望有人能回答我,这让我发疯。我有另一个问题:是否允许在参数中使用“ref”?这是糟糕的编程吗?

提前致谢。

我还在这里写了我如何理解后台工作人员:


这就是我认为后台工作人员的“规则”:

-

-

-

0 投票
2 回答
3716 浏览

c# - .Show()'ing 一个不应被处理的表单时的 ObjectDisposedException

我检查了其他一些问题,显然最好的解决方案是首先防止导致此问题的行为,但问题是非常间歇性的,并且非常不可重现。

我基本上有一个主表格,有子表格。子表单从主表单的菜单和/或按钮中显示,如下所示:

并且子表单实际上是主表单(无论好坏。我实际上想改变它,但这样做需要相当长的时间):

修改了子表单的 Dispose 功能,“关闭”和“X”按钮实际上隐藏了表单,因此我们不必每次都重新创建它。当主屏幕关闭时,它设置了一个“标志”为2,所以其他窗体知道关闭实际上是可以的;

所以,问题是,为什么这会一次又一次地完美无缺地工作,但是,从字面上看,大约每 1/1000 的时间会导致异常,或者更确切地说,为什么我的表单会被处理?

我怀疑垃圾收集器被搞糊涂了,因为它在运行了几个小时后发生的频率稍微高了一点。

0 投票
4 回答
15725 浏览

.net - ASP.Net 实体框架,对象上下文错误

我正在构建一个 4 层的 ASP.Net Web 应用程序。这些层是:

  1. 数据层
  2. 实体层
  3. 业务层
  4. 界面层

实体层具有我的数据模型类,并且是使用 T4 模板 (POCO) 从数据层中的我的实体数据模型(edmx 文件)构建的。实体层在所有其他层中被引用。

我的数据层有一个名为 SourceKeyRepository 的类,它的功能如下:

延迟加载被禁用,因为我不希望我的查询在此应用程序的其他层中运行。尝试访问 UI 层中的信息时收到以下错误:

ObjectContext 实例已被释放,不能再用于需要连接的操作。

我确定这是因为我的 DataModelContainer "dmc" 被处理掉了。如何从我的数据层返回此 IEnumerable 对象,使其不依赖于 ObjectContext,而仅依赖于 DataModel?

有没有办法限制延迟加载只发生在数据层?

0 投票
2 回答
730 浏览

c# - 表单以某种方式处理

我有一个客户端-服务器应用程序,在其中我使用经典的套接字和线程来接收/发送数据和侦听客户端。

该应用程序工作正常,但经过一些随机时间后,我得到了ObjectDisposedException

该代码是从客户端 Socket 线程调用的,我使用Invoke()方法在 UI 线程上运行代码。

我确定我没有手动处理表单,也没有使用Close()(用户单击关闭按钮关闭表单),所以我不知道是什么导致它被处理。

编辑:在表单关闭期间不会抛出异常 - 它完全随机发生。

0 投票
2 回答
5187 浏览

vb.net - 在 VB.NET 中从 TreeView 显示表单

我正在尝试使用树视图控件显示特定表单,其节点的tag值设置为我需要显示的表单的实例。我在 DoubleClick 事件中的代码在我第一次显示表单时效果很好,但在那之后我得到了一个对象处理异常。如您所见,我尝试通过重置标签来处理它,但这不起作用。有什么方法可以在出现异常并将标签重置为正确类型的表单时多次显示表单而无需通过 switch 语句?我想要一些更好看的东西,就像我展示表格的方式一样。

0 投票
1 回答
433 浏览

c# - 在 RSAKeyValue 上使用扩展方法时出现 ObjectDisposedException

我试图为RSAKeyValue编写以下简单的扩展方法:

但是,似乎每当我使用 时ToXmlString,都会出现异常:

System.ObjectDisposedException:安全句柄已关闭

有没有办法封装,GetXml().OuterXml所以它不会在我的代码中的各个地方重复而不得到一个ObjectDisposedException

0 投票
2 回答
350 浏览

c# - C#中的线程安全可破坏事件触发类

最近,我被要求在选择过程中实现一个类。我按照要求做了程序。然而,我在测试中失败了。我真的很想知道我的解决方案有什么问题。任何帮助深表感谢。下面给出了问题和我的解决方案

问题:

实现一个线程安全的类,它每秒从构造中触发一个事件。需要有一个函数来查找经过的秒数。此类必须实现 IDisposable 并且在调用 dispose 后对经过秒数的函数的任何调用都应该失败。

我的解决方案:

0 投票
2 回答
224 浏览

c# - 句柄抛出 Disposed 异常

C# WinForms:当我第一次打开我的表单时,frm1.Hanlde 是好的,但是当我关闭我的表单并再次打开它时,句柄的值是抛出 System.ObjectDisposedException 的异常......我是什么东西应该考虑调试和修复它吗?

0 投票
1 回答
245 浏览

linq-to-sql - 为什么当我处理上下文时 LINQ 2 SQL 尝试获取子关系?

我在我的一个项目中使用 LINQ 2 SQL,我有很多关系客户 - > Documents1、Documents2、Documents3、地址、发票等....

当使用 LoadWith(p => p.Documents1)...etc 时,我遇到了性能问题,想象一下 2000 个客户的所有这些大量关系都加载到内存中的 List 中!

Document -> Customer 的另一种方式与其说是关系,不如说是问题。

所以我尝试删除所有 LoadWith 并留下 Customer -> Address 关系。现在,如果我打开 Document1 然后打开我的客户,当我序列化我的客户时,我会得到一个对象处理异常。serialize 方法基本上是抛出这个异常。

序列化方法:

我获得客户的方法:

我想删除除地址关系之外的所有 LoadWith。我讨厌这个错误并不总是重现,但在某些情况下我找不到。

我可以猜测 DataContractSerializer 构造函数进行更改,但我无法正确理解。

任何帮助表示赞赏!

0 投票
0 回答
1459 浏览

c# - 在异步使用的 HttpWebRequest 上调用 Abort 时出现 ObjectDisposedException

正如标题所示,我似乎ObjectDisposedException在调用"Abort"一个HttpWebRequest使用的异步(即BeginGetResponse)时遇到了一个问题,并且在我的一生中无法弄清楚如何防止它。我整天都在寻找解决方案,因此将不胜感激。这是一个说明问题的简单示例:

这就是我正在做的事情:如果我正常运行它,响应就会很好地写入控制台。但是,如果我使用 Fiddler 来模拟慢速互联网连接(或基本上没有连接)并执行超时回调,我会得到前面提到的ObjectDisposedException"Timed out!"虽然首先写入控制台)。如果我不调用Abort.HttpWebRequest

谁能告诉我我做错了什么?我的目标是 .NET 3.5 框架。提前感谢您的任何启发。

这是异常信息/调用堆栈: