【问题标题】:Missing features in HttpWebRequest and WebClient?HttpWebRequest 和 WebClient 中缺少功能?
【发布时间】:2010-10-18 04:21:57
【问题描述】:

您希望在System.Net.HttpWebRequestSystem.Net.WebClient 中看到哪些开箱即用的功能?

这些类不能或不能轻松实现什么?

我希望能够:

  • 下载时使用带宽限制(适用于大文件)。
  • 通过 HTTP post 上传多个文件和键值对(使用 WebClient 可以轻松上传单个文件和单个键值对集合)。

【问题讨论】:

    标签: .net httpwebrequest webclient


    【解决方案1】:

    我希望看到这两个类都更新为允许通过TaskTask<T> 进行异步操作。

    一些例子-

    在 WebClient 中,我希望看到类似的方法 -

    Task<string> WebClient.DownloadStringTask(Uri uri);
    

    在HttpWebRequest中,我想看看:

    Task<Stream> HttpWebRequest.GetRequestStreamTask();
    

    当然,第二个可以使用 TaskFactory.FromAsync,但这并不简单。

    【讨论】:

    • 有趣 - 为什么对我认为缺少的功能投反对票?
    【解决方案2】:

    我希望 .NET 有一个使用 WinINet subsystem 的 HTTP 连接器。(或者真的很好地伪造它。)

    在许多情况下,我“退回”到 MSXML/XMLHTTPRequest 仅仅是因为连接“像 IE 一样工作”——如果用户可以在 IE 中访问它,那么他们就可以通过 MSXML 访问它。对于没有手动配置的 .NET 连接器,以下情况并不总是正确的。呃。

    我的经验来自 .NET35,我不确定 .NET4 有什么变化。

    编辑:如果您投反对票(这完全没问题),请留言说明原因。谢谢。

    【讨论】:

      【解决方案3】:

      将 html 页面 + css + 图片下载到单个 MHT 文件中。

      我希望能够下载包含所有 CSS、图像和脚本的网页并将其保存到单个 MHT 文件中。然后我会将它用作 MailMessage 的 HTML 正文。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-15
        • 2018-09-17
        • 2022-01-21
        • 2021-06-15
        相关资源
        最近更新 更多