问题标签 [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 投票
3 回答
89828 浏览

c# - 什么可能导致 WCF 中出现“无法访问已处置的对象”错误?

我正在使用以下代码:

登录是我的构造函数:

我以这种方式使用服务:

当用户输入有效的用户名和密码时,一切正常。当用户输入错误的用户名和密码时,第一次尝试正确显示“未输入”消息,但在第二次尝试时,用户看到此消息:

如何修复我的代码以防止发生此错误?

0 投票
1 回答
2208 浏览

c# - 尝试通过重新打开的套接字发送时出现 ObjectDisposeException

  1. 我正在使用Socket( Socket A = new Socket...) 发送/接收。
  2. 当发生某些事情(断开连接)时,我正在尝试关闭/处理旧对象,然后实例化一个新套接字(A = new Socket...)(相同的主机/端口)
  3. connect()阶段检查正常,远程主机看到连接。
  4. 在尝试发送第一个字节时,我立即得到:

System.ObjectDisposedException:无法访问已处置的对象。对象名称:“System.Net.Sockets.Socket”。在 System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, SocketError& errorCode) at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, System.Net.Sockets.Socket.Send(Byte[] 缓冲区) 处的 SocketFlags socketFlags)

有任何想法吗?

现在,当使用套接字时,catch 子句会捕获SocketException并调用 reconnect 方法:

0 投票
2 回答
1861 浏览

security - 请求之间的 IIS7 集成模式关闭令牌

我们正在迁移到 IIS7 集成模式并且遇到了一个问题。我们使用 WindowsAuthentication 进行身份验证,然后存储对 WindowsPrincipal 的引用,以便在将来的请求中,我们可以根据需要对 AD 进行授权。在 IIS 7 集成模式下,令牌正在关闭(在请求之间),因此当我们尝试运行 IsInRole 时,它​​会生成一个已处理的异常。有没有办法缓存这个令牌或改变我们对 WindowsPrincipal 的使用,这样我们就不需要为每个授权请求发出连续的 AD 请求来获取它?

这是从 WindowsPrincipal.IsInRole("") 引发的异常 - System.ObjectDisposedException: {"Safe handle has been closed"}

谢谢。

0 投票
2 回答
3402 浏览

.net - 当我“使用” BinaryReader 对象时,为什么我的 FileStream 对象被丢弃?

考虑以下函数:

FileStream 对象作为参数传入, BinaryReader 使用 using 语句声明。当我尝试使用该 FileStream 对象时,在调用此函数后,它会引发 System.ObjectDisposedException。为什么 FileStream 对象与 BinaryReader 对象一起被处置?

0 投票
2 回答
2935 浏览

wpf - WPF DocumentPaginator 是否将所有 DocumentPages 保留在内存中,直到完成打印作业?

关于 WPF 的 DocumentPaginator 的严格理论问题:

使用 WPF DocumentPaginator 类打印多页文档时,分页器是否将其请求的所有 DocumentPages 保留在内存中,直到文档完成打印为止?或者它是否曾经在打印作业完成之前处理掉不再需要的任何 DocumentPages(即释放内存)?有没有办法在打印过程中手动告诉分页器释放旧的/不需要的 DocumentPages 而不会遇到异常?

非常感谢您对此的帮助!

0 投票
1 回答
248 浏览

c# - 如何防止我的 System.Timers.Timer 在停止后引发 Elapsed 事件?

我有以下代码:

我的计时器每 250 毫秒运行一次,并引发一个事件,其中包含有关流复制进度的信息。问题是,有时在计时器事件中,会抛出 ObjectDisposedException,因为不再打开流。

如何防止我的计时器在我的流被处理后引发经过的事件?

0 投票
1 回答
229 浏览

c# - 为什么在 DataContext 上设置 Log 会导致 ObjectDisposedException?

这是我的服务类:

这是我的测试课

运行CanGetSomethingCanGetSomethingElse单独使用 ReSharper 5 测试运行器工作正常,两个测试都通过了。但是,尝试通过运行整个类来连续运行测试会导致第一个方法通过,第二个方法抛出异常

System.ObjectDisposedException:无法写入已关闭的 TextWriter。

我在第二个测试中调用什么方法似乎并不重要,任何调用_db都会导致错误。注释掉_db.Log = Console.Error可以消除异常,它会正常工作。

我希望能够记录错误并立即运行一整类测试,但我无法弄清楚它为什么会这样。

有任何想法吗?

0 投票
5 回答
2590 浏览

c# - 什么时候检查这个对象是否已经被释放并抛出 ObjectDisposedException 是合理的?

在一个实现的类中IDisposable,何时检查对象是否已被释放并抛出ObjectDisposedException是否是合理的?在所有公共方法和属性中(除了Dispose)?有时?绝不?

0 投票
1 回答
549 浏览

c# - GZipStream.Close 导致 ObjectDisposedExeption:为什么?

谁能解释一下?

在此处输入图像描述

0 投票
1 回答
769 浏览

entity-framework - 每次更新“用户”(成员资格)对象时抛出 ObjectDisposedException

  • 我正在使用 asp.net mvc 3,具有 IoC 结构图的实体框架。
  • 我有自己的自定义会员提供商。
  • 当我使用 StructureMap 注入 dbcontext 对象和成员资格实例时,我遇到了同样的问题,因此为我的 UserRepository 删除了它。
  • UserRepository 现在有一个在构造函数中初始化的 DBContext 属性。

每次创建/更新新用户时(这样做的方法是将 dbcontext 对象包装在 using 语句中),下次引用 dbcontext 时,我会抛出 ObjectDisposedException。

我不明白我做错了什么。显然,成员资格提供程序类不会在每次需要它时实例化 userRepository 对象,并且当更新用户时,由于 using 语句而释放了上下文。但我认为这是标准做法?

任何帮助是极大的赞赏。

编辑:

真的没有复杂的代码。设置是:

CustomMembershipProvider 会覆盖标准的 Membership 提供程序(配置文件有详细信息)。CustomMembershipProvider 使用 IUserService 对象,该对象使用由 UserRepository 实现的 IUserRepository,该对象在类级别具有 DBContext 私有对象。

在 UserRepository 中,我有:

运行此代码后,请求就完成了。但是,当发出另一个请求以检索角色信息或从数据库中读取用户(在 UserRepository 类中)时,我会抛出 ObjectDisposedException。此时,与用户或角色相关的任何内容都不起作用,因为它们使用相同的 UserRepository 类,其 _db 变量已由 UpdateUser 处理。

我最初让 StructureMap 解析 DBContext 对象、customMembership 对象等,但后来不得不将其从 StructureMap 的映射中删除。