代码之家  ›  专栏  ›  技术社区  ›  evanmcdonnal

为什么从.NET中删除HttpWebRequest和HttpWebResponse的构造函数?

  •  1
  • evanmcdonnal  · 技术社区  · 9 年前

    也许产品代码实例化这些类型没有意义,但构造函数的弃用使得单元测试客户端使用 Http 的实现 WebRequest/Response 麻烦远远超出了应有的程度。我认为带走构造函数没有任何价值,而拥有它们显然有价值,那么,它们被弃用的技术原因是什么?

    1 回复  |  直到 9 年前
        1
  •  2
  •   VMAtm    9 年前

    嗯,你到底为什么需要 HttpWebRequest ? 我看不出它与 WebRequest.Create ,这被建议作为从一开始就在所有版本中创建此类请求的首选方式。

    此方法返回 HttpWeb请求 WebRequest ,但您仍然可以根据需要将其转换为直接类型。如果您提供一些其他协议 file:// ftp:// ,它将返回相应的类型。

    我认为这个 Obsolete list 是标准化所有平台的.NET核心的一部分,维护 Web请求 在代码的一个点创建。

    使现代化 :
    我想你看过这篇关于 deriving the WebRequest class ,所以我只在这里写下我的另一个观点:

    当你从 Web请求 ,您需要两点:

    正如MSDN所说:

    这个 HttpWeb请求 默认情况下,类注册为HTTP和HTTPS方案的服务请求。尝试注册不同的 Web请求 这些计划的后代将失败。

    所以微软想要控制 http https 面向对象的类,并且不希望任何人用自己的功能替换此功能。我认为这可能是出于一些安全考虑。悲伤但真实。