我有一段代码,我通过tcp/ip通道发送文件内容。有时,此连接挂起导致整个应用程序冻结。有没有办法让我的主线程产生一个工作线程并监视那个工作线程。如果工作者线程成功,那就很好。如果它挂起,主线程可能会记录错误消息并继续。如何在我的测试代码中模拟工作线程是挂起。请让我知道代码的样子。我正在使用C#Visual Studio 2002.Visual Studio 2002:通过TCP/IP发送文件时C#发生冻结
1
A
回答
3
当然,这是可能的。
要么使用BackgroudWorker或Thread类手动实现线程,要么使用异步方法发送内容(在您的情况下更简单)。
所有与网络相关的类都包含其操作的异步方法。寻找包含Async
或Begin
的方法...
而模拟死线程很简单。只是做一个无限循环:
while (true)
System.Threading.Thread.Sleep (10);
+0
我可以得到一个示例代码吗?谢谢 – 2010-06-02 16:40:07
+0
由于有几个可以使用的类,因此在显示目前的内容之前,没有人可以给出代码示例。在最简单的情况下(例如使用WebClient,您可以注册OnDownloadDataCompleted和可能的OnDownloadProgressChanged事件,然后调用webClient.DownloadDataAsync(uri)。 – Foxfire 2010-06-02 16:46:17
相关问题
- 1. Visual Studio和进程冻结时发生异常(我认为)C#
- 2. 通过流发送文件时发生异常
- 3. 通过电子邮件发送代码冻结
- 4. 通过C#发送邮件
- 5. 通过C#发送HTTP GET在Visual Studio 2017年
- 6. C# - 发送一个文件通过HTTP
- 7. C#通过互联网发送文件
- 8. Visual Studio 2005冻结
- 9. 发布云服务时,Visual Studio 2013会冻结
- 10. 通过FTP发送文件
- 11. 通过IpV6发送文件
- 12. 通过sftp发送文件
- 13. 通过流发送文件
- 14. 通过rabbitmq发送文件
- 15. 通过发布请求发送.dex文件android studio
- 16. Bash脚本在发送时冻结SIGINT
- 17. 通过c socket发送结构
- 18. 如何通过C#发送邮件时实现发件人ID?
- 19. 使用Microchip的PIC18F通过tcpip发送数据
- 20. 通过Excel VBA发送电子邮件时发生错误-2147220975
- 21. C#Visual Studio 2010发布文件
- 22. Visual Studio在打开项目时冻结
- 23. 初始化ToolBox时Visual Studio IDE冻结
- 24. 生成发票后通过电子邮件发送发票opencart
- 25. 通过WCF回调发送业务对象时发生超时
- 26. 通过C#发送Gmail的
- 27. 通过c发送传真
- 28. Visual Studio 2015 Xamarin冻结
- 29. 使用NSMutableURLRequest通过http post发送文件时发生网络错误
- 30. 尝试通过cURL发送XML文件到web服务时发生Soapenv错误
Visual Studio 2002? – Aren 2010-06-02 16:54:24
@Aren B:这将是Visual Studio .NET,使用.NET 1.0。微软试图假装的版本不存在。 – Powerlord 2010-06-02 16:57:26
@R。 Bemrose:我猜1.1到2003年的前奏? – Aren 2010-06-02 17:46:16