WebRequest类

WebRequest类
2008-01-20 14:46

发出对统一资源标识符 (URI) 的请求。这是一个抽象(在 Visual Basic 中为 MustInherit)类。

有关此类型所有成员的列表,请参阅 WebRequest 成员

System.Object

System.MarshalByRefObject

System.Net.WebRequest

System.Net.FileWebRequest

System.Net.HttpWebRequest

[Visual Basic]

<Serializable>

MustInherit Public Class WebRequest

Inherits MarshalByRefObject

Implements ISerializable

[C#]

[Serializable]

public abstract class WebRequest : MarshalByRefObject,

ISerializable

线程安全

此类型的所有公共静态(Visual Basic 中为 Shared)成员是线程安全的。但不保证任何实例成员是线程安全的。

备注

WebRequest .NET Framework 的用于访问 Internet 数据的请求/响应模型的抽象(在 Visual Basic 中为 MustInherit)基类。使用该请求/响应模型的应用程序可以用协议不可知的方式从 Internet 请求数据,在这种方式下,应用程序处理 WebRequest 类的实例,而协议特定的子类则执行请求的具体细节。

请求从应用程序发送到某个特定的 URI,如服务器上的 Web 页。URI 从一个为应用程序注册的 WebRequest 子代列表中确定要创建的适当子类。注册 WebRequest 子代通常是为了处理某个特定的协议(如 HTTP FTP),但是也可以注册它以处理对特定服务器或服务器上的路径的请求。

如果在访问 Internet 资源时发生错误,则 WebRequest 类将引发 WebExceptionWebException.Status 属性是 WebExceptionStatus 值之一,它指示错误源。当 WebException.Status WebExceptionStatus.ProtocolError 时,Response 属性包含从 Internet 资源接收的 WebResponse

由于 WebRequest 类是一个抽象(在 Visual Basic 中为 MustInherit)类,所以 WebRequest 实例在运行时的实际行为由 WebRequest.Create 方法所返回的子类确定。有关默认值和异常的更多信息,请参见有关子类的文档,如 HttpWebRequest FileWebRequest

注意 使用 Create 方法初始化新的 WebRequest 实例。不要使用 WebRequest 构造函数。

对继承者的说明: 当从 WebRequest 继承时,必须重写下列成员:MethodRequestUriHeadersContentLengthContentTypeCredentialsPreAuthenticateGetRequestStreamBeginGetRequestStreamEndGetRequestStreamGetResponseBeginGetResponse EndGetResponse。此外,必须提供 IWebRequestCreate 接口的实现,该接口定义了调用 Create 时使用的 Create 方法。您必须通过使用 RegisterPrefix 方法或配置文件,来注册实现 IWebRequestCreate 接口的类。

示例

[Visual Basic, C#, C++] 下面的示例说明如何创建 WebRequest 实例并返回响应。

[Visual Basic]

' Initialize the WebRequest.

Dim myRequest As WebRequest = WebRequest.Create("http://www.contoso.com")

' Return the response.

Dim myResponse As WebResponse = myRequest.GetResponse()

' Code to use the WebResponse goes here.

' Close the response to free resources.

myResponse.Close()

[C#]

// Initialize the WebRequest.

WebRequest myRequest = WebRequest.Create("http://www.contoso.com");

// Return the response.

WebResponse myResponse = myRequest.GetResponse();

// Code to use the WebResponse goes here.

// Close the response to free resources.

myResponse.Close();

 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值