Ode*_*ded 38
他们做不同的事情.
WebRequest是抽象基类HttpWebRequest- 你不能直接使用它.它是其他*Request类的基类(用于FTP,文件和其他类型的Web请求).这些类都用于从Web获取资源(文件).
还有一个WebClient类 - 可能是最简单的用于从Internet检索资源的所有BCL类.
HttpRequest,另一方面代表用于在ASP.NET应用程序的资源的请求-这是服务器侧的一个Request.
主要区别在于它HttpWebRequest是一个HTTP 客户端,并且HttpRequest是在ASP.NET Web应用程序中使用的服务器端.
HttpRequest正如Oded已经说过的那样,它完全不同 - 它在服务器端生成HTTP请求,因此客户端(例如HttpWebRequest)可以读取它.
现在,在HttpWebRequest和之间WebRequest,当一个人简单地从另一个继承时,在实践中,如果你 http://在创建请求时使用,则没有区别.似乎只是代码设计.
要使用WebRequest我们需要的Create,它将返回一个后代类.只要我们使用它的实例,它就会充当后代类的包装器.以下是文档中的评论:
WebRequest是.NET Framework用于从Internet访问数据的请求/响应模型的抽象基类.使用请求/响应模型的应用程序可以以协议无关的方式从Internet请求数据,其中应用程序使用WebRequest类的实例,而特定于协议的后代类执行请求的详细信息.(......)
因为
WebRequest类是抽象类,所以WebRequest实例在运行时的实际行为由Create方法返回的后代类确定.有关默认值和异常的详细信息,请参阅后代类的文档,例如HttpWebRequest和FileWebRequest.
我现在才知道这个,因为,虽然也在寻找答案(我不知道1小时前),我从codeguru和MSDN doc评论的论坛得到了这个,这一切都归功于google:
的
HttpWebRequest类提供中定义的属性和方法支持WebRequest以及用于附加属性和方法,使用户直接使用HTTP服务器进行交互.
和言论下去(选择只是那些一些相关性的差别):
不要使用
HttpWebRequest构造函数.使用该WebRequest.Create方法初始化新HttpWebRequest对象.如果统一资源标识符(URI)的方案是http://或https://,则Create返回一个HttpWebRequest对象.该
GetResponse方法对属性中指定的资源发出同步请求,RequestUri并返回HttpWebResponse包含响应的资源.您可以使用和方法向资源发出异步请求.BeginGetResponseEndGetResponse
HttpWebRequest公开发送到Internet资源的公共HTTP标头值作为属性,由方法设置或由系统设置;
那里有一张桌子,我不会在这里引用.
| 归档时间: |
|
| 查看次数: |
29976 次 |
| 最近记录: |