【问题标题】:Win form application freeze on HttpWebRequest file post在 HttpWebRequest 文件发布时赢得表单应用程序冻结
【发布时间】:2011-04-07 21:01:59
【问题描述】:

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

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

我需要将上传放在单独的线程中,还是有其他简单的方法可以解决这个问题?

【问题讨论】:

    标签: asp.net winforms httpwebrequest


    【解决方案1】:

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

    使用BackgroundWorker,您可以在DoWork 事件中执行您的代码,UI 将保持响应。

    【讨论】:

      【解决方案2】:

      多线程编程是这种情况下要走的路。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-15
        • 2017-11-21
        • 1970-01-01
        • 2021-09-26
        • 1970-01-01
        • 2013-01-20
        相关资源
        最近更新 更多