在HttpWebRequest文件帖子上获取表单应用程序冻结

时间:2010-09-03 13:54:09

标签: asp.net winforms httpwebrequest

我有一个应用程序,它将使用HttpWebRequest将文件从我的客户端上传到Web服务器(具有此处建议的功能:Upload files with HTTPWebrequest (multipart/form-data)

我的问题是,当发布文件(大小约10 mb)时,整个应用程序冻结(例如,当我尝试移动窗口时“应用程序没有响应”)。

我是否需要将上传放在单独的帖子中,还是有其他简单的方法来解决这个问题?

2 个答案:

答案 0 :(得分:2)

查看BackgroundWorker课程。除非您在单独的线程中运行,否则您的UI将在操作正在进行时冻结。

使用BackgroundWorker,您可以在DoWork事件中执行代码,用户界面仍会保持响应。

答案 1 :(得分:1)

多线程编程是这种情况下的方法。

您可以为将上传文件的函数创建委托,并使用BeginInvoke在单独的线程中执行该函数。

或者您可以使用Thread类和内置.net ThreadPool创建一个新线程。