在 Windows Phone 上,我可以WebException
使用StatusCode == HttpStatusCode.NotFound
if
- 服务器返回 404
- 由于连接不良,无法找到服务器。
在 Windows Phone 上WebException
的状态WebExceptionStatus.UnknownError
适用于这两种情况。
我如何区分1
案例2
?
我观察到的是连接不良(未找到服务器)ResponseUri
为 null 并且WebResponse
's Headers 包含0
项目。
EDIT
ResponseUri
不为空,而是为OriginalString
空
这样做是否安全:
catch (WebException ex)
{
switch (ex.Response.StatusCode)
{
...
case HttpStatusCode.NotFound:
if (ex.Response.ResponseUri == null
|| string.IsNullOrEmpty(httpWebResponse.ResponseUri.OriginalString))
DoServerNotFound();
else
DoServerReturned404();