System.Net HttpStatusCode类没有代码422

gol*_*ldy 36 c# rest http-status-codes windows-phone-8.1

有没有办法优雅地处理http状态代码422.我在这里寻找最好的做法.我知道HttpStatusCode是一个枚举所以我试过的是这个,

HttpStatusCode Unprocessable = (HttpStatusCode)422;
if (Response == (HttpStatusCode)422)
Run Code Online (Sandbox Code Playgroud)

但是不允许我比较它.我在这里做错了吗?

什么是在运行时添加此状态代码的最佳方法.

Nic*_*tch 28

我正在使用RestSharp,它在类型的属性中返回服务器响应状态代码HttStatusCode,我需要自己检查422响应,但当然类型不包括它.幸运的是,我仍然能够使用以下测试:

if(response.StatusCode == (HttpStatusCode)422)
{
    // Do my stuff..
}
Run Code Online (Sandbox Code Playgroud)


小智 6

旧版本的 .NET 没有此 HTTP 状态代码,但一些较新的版本有(请参阅 MS 文档)。
如果您使用的是较旧的框架之一,那么您可以获得响应并检查 StatusCode,如下所示(就像 Nick 所说):

var httpResponseCode = Response as HttpWebResponse;
if (httpResponseCode.StatusCode == (HttpStatusCode)422)
{
    //your code here
}
Run Code Online (Sandbox Code Playgroud)