1

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

4

1 回答 1

2

嗯,你到底为什么需要 的构造函数HttpWebRequest?与 相比,我看不到它的任何偏好,WebRequest.Create建议将其作为从一开始就在所有版本中创建此类请求的首选方式。

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

我认为这个Obsolete 列表WebRequest是为所有将要使用的平台标准化 .NET Core 的一部分,并且在单个代码点中维护创建会更加简单。

更新
我想你已经看过这篇关于派生WebRequest的文章,所以我将在这里写下我的另一个观点:

当你从 dering 时WebRequest,你需要两点:

正如 MSDN 所说:

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

所以微软想要控制httphttps导向类,不希望任何人用他们自己的功能替换这个功能。我认为由于一些安全问题,可以这样做。悲伤但真实。

于 2015-03-12T23:44:51.707 回答