C #里的request如何获取数据库中表中的记录

如题所述

第1个回答  2012-05-11
首先需要说明,在C#中REQUST有两种.
1. 位于System.Web.HttpRequest是封装浏览器对服务器的请求的,主要用在ASP.NET中,其中包括浏览器请求的网址,查询字符串数据或表单数据等等.
所以一般将System.Web.HttpReques中的Request通常都简称为request,即:"请求",有"请求"就有"响应(response)".

在实际开发中,最常见的使用方法就是在ASP.NET中利用request对像用于获取FORM中各种控种的值,或者用于接收URL传参时的值.无法用来获取数据库或虚拟表中的记录.
注:FORM中各种控件的值可以是用户输入,或者从数据库中取出来的数据绑定.
例如:
Request.Params["string型参数名"],Request.QueryString["string型参数名"]用于获取URL传参时某个参数的值.
Request.Form["控件名称"]用于获取服务端控件FORM中的各种控件的值.

2.位于System.Net.HttpWebRequest则是用来简化网络请求的过程,从服务器上获取文件/结果的,譬如你可以在代码中用这个类冒充浏览器(设置一个UserAgent)来发请求,处理回应
这里的Rquest通常用于请求获取服务端的各种文件数据流,例如在程序中点里某个按扭将服务器上的某个地址的文件下载到本地硬盘.这个request在使用时由先创建一个对像实例.
例如:
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("下载地址,比如说某个网址") 首先创建REQUEST对像,
request.GetResponse().GetResponseStream()创建完成后就可以通过它来获取流中的数据了,然后将获取的数据交给System.IO.Stream的实例对像,就可以对需要下载的数据流进行处理了.
同样,它也有一个与之相匹配的RESPONSE响应对像.这里就不再说明了...

这种问概念性的问题记着多看看书就能找到明确的答案.
以后不要再问这么没水平的问题了.会闹出笑话的...

至于System.Web.HttpRequest与System.Net.HttpWebRequest具体的区别,以后从书上给抄了一段内容:

HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。
不要使用 HttpWebRequest 构造函数。使用 WebRequest.Create 方法初始化新的 HttpWebRequest 对象。如果统一资源标识符 (URI) 的方案是 http:// 或 https://,则 WebRequest.Create 返回 HttpWebRequest 对象。
可以使用 BeginGetResponse 和 EndGetResponse 方法对资源发出异步请求。BeginGetRequestStream 和 EndGetRequestStream 方法提供对发送数据流的异步访问。
如果在访问资源时发生错误,则 HttpWebRequest 类将引发 WebException。WebException.Status 属性包含指示错误源的 WebExceptionStatus 值。
HttpWebRequest 将发送到 Internet 资源的公共 HTTP 标头值公开为属性,由方法或系统设置;下表包含完整列表。可以将 Headers 属性中的其他标头设置为名称/值对。注意,服务器和缓存在请求期间可能会更改或添加标头。
下表列出了由属性或方法设置或由系统设置的 HTTP 标头。
System.Web.HttpRequest是封装浏览器对服务器的请求的,主要用在ASP.NET中,其中包括浏览器请求的网址,查询字符串数据或表单数据等等
而System.Net.HttpWebRequest则是用来简化网络请求的过程,从服务器上获取文件/结果的,譬如你可以在代码中用这个类冒充浏览器(设置一个UserAgent)来发请求,处理回应
第一:他们不是父子关系。
第二:Syste.Net.HttpWebRequest类是System.Net.WebRequest抽象类的一个子类,它是.NET Framework的用于访问Internet数据的请求/响应模型的抽象基类。使用该请求/响应模型的应用程序可以用协议不可知的方式从Internet请求数据。在这种方式下,应用程序处理 WebRequest类的实例,而协议特定的子类则执行请求的具体细节。
System.Net.HttpWebRequest类和System.Net.FileWebRequest都继承了WebRequest
1、FileWebRequest类为使用file:// 方案来请求本地文件的URI实现WebRequest抽象基类。
2、HttpWebRequest类对WebRequest中定义的属性和方法提供支持,也对使用户能够直接与使用HTTP的服务器交互的附加属性和方法提供支持。
第三:System.Web.HttpRequest类使ASP.NET能够读取客户端在Web 请求期间发送的 HTTP值,HttpRequest类的方法和属性通过HttpApplication、HttpContext、Page 和 UserControl类的Request属性公开。
所以使用System.Web.HttpRequest类的时候其实都是利用HttpApplication、HttpContext、Page和UserControl类的Request属性。而使用System.Net.HttpWebRequest类时是为了获得一个Uri资源。自己创建。
System.Web 命名空间提供使得可以进行浏览器与服务器通信的类和接口。此命名空间包括 HttpRequest 类(用于提供有关当前 HTTP 请求的广泛信息)、HttpResponse 类(用于管理对客户端的 HTTP 输出)以及 HttpServerUtility 类(用于提供对服务器端实用工具与进程的访问)。System.Web 还包括用于 Cookie 操作、文件传输、异常信息和输出缓存控制的类。
System.Net 命名空间为当前网络上使用的多种协议提供了简单的编程接口。WebRequest 和 WebResponse 类形成了所谓的可插接式协议的基础,可插接式协议是网络服务的一种实现,它使您能够开发出使用 Internet 资源的应用程序,而不必考虑各种不同协议的具体细节。
相似回答