2013-02-13 66 views
1

我知道如何捕获HTTP响应(形式为HttpWebResponsein case of an error,但当方法返回200 OK时如何执行此操作?我想要统一处理所有的答复。如何获得“200 OK”的HttpWebResponse?

// IService.cs 
public async Task Ping(); 

// Client.cs 
public static void ReactToHttpResponse(HttpWebResponse res) 
{ 
    // Play with the http response ... 
} 

await service.Ping();     // => 200 OK, on the wire 
ReactToHttpResponse(/* ??? */) // How to capture the HttpWebResponse? 

还是应该捕获不同的响应类?

回答

3
+0

这只给我状态码。例如,我也对标题感兴趣。我意识到我可以从不同的地方聚集他们,但我认为HttpWebResponse已经在那里。 – 2013-02-13 08:37:42

+0

在链接的文章中,HttpWebResponse引用从抛出的异常中检索。如果函数执行时没有触发异常,我可以考虑这些其他可能性:1. HttpContext.Current 2.如果您正在编写自己的HttpWebRequest对象,则应该可以调用GetResponse()方法。 – pekoponian 2013-02-13 08:56:17

+0

在这两种情况下,我认为HttpWebResponse对象有一个.Headers属性,你可以看看。 – pekoponian 2013-02-13 08:57:57