WebException.Response 属性

获取远程主机返回的响应。

命名空间:System.Net
程序集:System(在 system.dll 中)

public WebResponse Response { get; }
/** @property */
public WebResponse get_Response ()

public function get Response () : WebResponse

属性值

如果可从 Internet 资源获得响应,则为包含来自 Internet 资源的错误响应的 WebResponse 实例;否则为 空引用(在 Visual Basic 中为 Nothing)。

某些网际协议(如 HTTP)返回本来有效的响应,指示该协议级别上发生了错误。当对 Internet 请求的响应指示错误时,WebRequest.GetResponseStatus 属性设置为 WebExceptionStatus.ProtocolError,并提供 WebResponse,它包含了引发的 WebExceptionResponse 属性中的错误信息。应用程序可检查 WebResponse 以确定实际的错误。

下面的示例检查 Status 属性,并将 StatusCode 和基础 HttpWebResponse 实例的 StatusDescription 输出到控制台。

try {
   // Create a web request for an invalid site. Substitute the "invalid site" strong in the Create call with a invalid name.
     HttpWebRequest myHttpWebRequest = (HttpWebRequest) WebRequest.Create("invalid site");

    // Get the associated response for the above request.
     HttpWebResponse myHttpWebResponse = (HttpWebResponse) myHttpWebRequest.GetResponse();
    myHttpWebResponse.Close();
}
catch(WebException e) {
    Console.WriteLine("This program is expected to throw WebException on successful run."+
                        "\n\nException Message :" + e.Message);
    if(e.Status == WebExceptionStatus.ProtocolError) {
        Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
        Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
    }
}
catch(Exception e) {
    Console.WriteLine(e.Message);
}

try {
    // Create a web request for an invalid site. Substitute the
    // "invalid site" strong in the Create call with a invalid name.
    HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.
        Create("invalid site");
    // Get the associated response for the above request.
    HttpWebResponse myHttpWebResponse =
        ( HttpWebResponse)myHttpWebRequest.GetResponse();
    myHttpWebResponse.Close();
}
catch (WebException e) {
    Console.WriteLine("This program is expected to throw WebException"
        + " on successful run." + "\n\nException Message :" 
        + e.get_Message());
    if (e.get_Status().Equals(WebExceptionStatus.ProtocolError)) {
        Console.WriteLine("Status Code : {0}", ((HttpWebResponse)(e.
            get_Response())).get_StatusCode());
        Console.WriteLine("Status Description : {0}",((HttpWebResponse)(
            e.get_Response())).get_StatusDescription());
    }
}

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

社区附加资源

添加
显示: