我有一个应用程序,它将使用HttpWebRequest将文件从我的客户端上传到Web服务器(具有此处建议的功能:Upload files with HTTPWebrequest (multipart/form-data))
我的问题是,当发布文件(大小约10 mb)时,整个应用程序冻结(例如,当我尝试移动窗口时“应用程序没有响应”)。
我是否需要将上传放在单独的帖子中,还是有其他简单的方法来解决这个问题?
答案 0 :(得分:2)
查看BackgroundWorker
课程。除非您在单独的线程中运行,否则您的UI将在操作正在进行时冻结。
使用BackgroundWorker
,您可以在DoWork
事件中执行代码,用户界面仍会保持响应。
答案 1 :(得分:1)
多线程编程是这种情况下的方法。
您可以为将上传文件的函数创建委托,并使用BeginInvoke在单独的线程中执行该函数。
或者您可以使用Thread类和内置.net ThreadPool创建一个新线程。