C# 如何使用响应状态代码创建 WebException

gek*_*k0n 5 c# exception http-status-codes webexception

我做了一些假类,它应该与原始类具有相同的行为。原始类有时会抛出 WebExceptions(StatusCode来自服务器的响应)。

我想在没有任何联系的情况下重复这种行为。那么,我如何创建new WebException(..., ..., ..., ...)所需的StatusCode

Ali*_*ice 2

这里棘手的部分是,虽然WebException(String, Exception, WebExceptionStatus, WebResponse)构造函数可以免费使用,但HttpWebResponse据说只能通过HttpWebRequest(有构造函数,但它们已过时)创建。

因此,由于WebException它接受抽象WebResponse而不是HttpWebResponse,我建议创建一个类MockHttpWebResponse或其他东西。我不知道您到底需要哪些变量,因此我会将您链接到HttpWebResponse 源,以便您从中获取必要的变量。

然后你在构造函数中使用这个类,如下所示:

new WebException(message, null, WebExceptionStatus.ProtocolError, new MockHttpWebResponse(statusCode))
Run Code Online (Sandbox Code Playgroud)

...或类似的东西。我认为您最了解您的场景需要什么。;)