问题标签 [disposing]
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.
c# - C# 如何防止 TcpClient 对象在我使用 new 关键字创建的不同线程中进行处理?
所以我试图用 C# 为我的服务器创建一个客户端,它接受消息作为命令,这样我就可以远程控制客户端。我的 masterServer.Connect 一直在加载,几乎每次我关闭我的应用程序时,我都必须等待 10 秒才能完全停止。我已经尽一切努力阻止这...没有运气。所以我已经放弃了,现在要解决另一个问题,我正在使用 masterServer = new TcpClient() 这似乎在 CreateConnection() 线程中工作得很好。但是当线程完成时,我在某处调用 SendClientInfo() 并导致此运行时错误:
无法访问已释放的对象 System.Net.Sockets.TcpClient
因此,我已尽力想办法在对象处置或其他任何事情之前保存对象,但我就是不知道该怎么做。所以这是我的问题:
- 如何防止 mainServer = new TcpClient() 处理,以便我可以在我的 SendClientInfo() 上使用它?
- 任何人都可以重做我的 CreateConnection() 方法,以便我可以看到如何正确地做到这一点吗?我已经重写了那东西一千次,但它看起来仍然非常错误,如果 masterServer.connect() 还没有连接到服务器,它需要永远完成。
- 您可以在此处查看任何其他更改或修复。我已经进进出出好几个小时了,只是想通过阅读一百个教程来教自己如何使用套接字。任何你告诉我我做错了的事情,我都会永远记住并在下一次正确地做。
如果您需要更多信息,请告诉我......我真的很感激。
asp.net - 当用户离开请求时,我可以控制清洁项目吗?
我有一个允许上传多个文件的页面,这些文件不断上传,即有许多 FileUpload 控件和每个靠近它们的提交按钮,它会立即上传。
我希望,一旦用户离开页面并转到另一个页面而不保存主容器(例如,“项目”=产品/注释/文档/这些文件附加到什么),上传的文件应该从服务器中删除.
换句话说:我怎么知道用户不打算回来(即他关闭了浏览器等)
button - 通过单击内部 JPanel 来处理 JFrame
我试图通过单击一个按钮来处理我的 JFrame,该按钮位于一个 JPanel 上,该 JPanel 位于我想要关闭的 JFrame 上。
我试图在 JFrame 类上创建一个静态方法,但当然我的 IDE 告诉我这不会发生。
有人想解决办法吗?
谢谢!
.net - 我是否必须手动删除每个实例的所有事件处理程序?
考虑这个类:
我是否必须在销毁此项目时手动删除处理程序?这不是由 GC 或托管代码编译器的其他工具完成的吗?
.net - 将 IDisposable 作为参数传递
将 IDisposable 作为参数传递给方法并将其放置在该方法中是否是一种好习惯。当您必须使用多个线程时,这是不可避免的。好吧,最佳实践说所有者(调用者)应该处理它。
例如
如果所有者(创建线程)不再存在怎么办?例如
在这里你会发现问题...
winforms - 如果 Form1 打开 Form2 并注册 Form2.TextChanged,如果 Form2 正在关闭,我是否需要从 Form1 中取消注册 Form2.TextChanged?
这是另一个关于从 .NET 中妥善处理对象的问题。在阅读了很多关于处置最佳实践(和人们的意见)的不同文章之后,我无法得到那个答案。我有 2 个表格,Form1 和 Form2。
表格1
表格2
在 Form2 中调用 Close() 时,Form2 应该有 is dispose() 方法调用,因为它是通过调用 is Show() 方法打开的,但是由于 Form1 已注册 TextChanged 事件或 Form2,这是否会阻止 Form2 被释放或生成GC处理的过程效率低吗?
提前致谢
wpf - 在 WPF 自定义控件中释放托管资源
我正在为第三方库编写一些 WPF 自定义控件。例如,我ComboBox
用一些依赖属性增强了标准。主要问题是我的控件有一些IDisposable
对象作为私有实例,我想处置这些对象。我的控件的结构是这样的:
当控件被 GC'ed 时,如何确保该对象被释放,最好的方法是什么?
提前致谢。
PS:我尝试了该Finalizer
方法,但我认为这不是一个干净且好的解决方案,并且与Unloaded
控件的事件有关(当主题更改时也会引发)。
c# - 在任何情况下,我们必须在 C# 中将变量设置为空?
如果变量在当前范围内是本地的,是否有任何理由在它结束之前将它们设置为 null ?
c# - 匿名事件处理程序和处置
我有一个关于匿名事件处理程序的简短问题:
这是我拥有的代码:
上面的代码是否正常,或者是否应该重写代码以删除 Disposed Event Handler?像这样的东西:
c# - 使用多个 using 语句来处理 DataSet 和 DataTables
你能解释一下这里发生了什么吗?