在 Windows Phone 上,我可以WebException使用StatusCode == HttpStatusCode.NotFoundif
- 服务器返回 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();