ASP.NET.in.a.Nutshell.Second.Edition [Electronic resources]

G. andrew Duthie; matthew Macdonald

نسخه متنی -صفحه : 873/ 161
نمايش فراداده

HttpRequest

System.Web (system.web.dll)sealed class

The HttpRequest class wraps all information that a client browser passes to the server during an HTTP request. It includes client certificates, cookies, and values submitted through HTML form elements. You can access this information in its entirety as a System.IO.Stream object through the InputStream property, or you can use one of the more useful higher-level properties.

The QueryString property allows you to retrieve values from the URL's query string, which can transfer information from one ASP.NET page to another. This query string takes the form of a series of name/value pairs appended to the URL after a question mark (for example, the client request

http://www.myapp.com/mypage.aspx?var1=hi will result in a value of "hi" for Request.QueryString["var1"]). The QueryString collection is limited to string data and should not contain sensitive information, as it is clearly visible to the user. To ensure compatibility with all browsers, you should not store more than about 1000 bytes in the query string.

The HttpRequest class also exposes an HttpCookieCollection object in the Cookies property. This is a collection of client-side cookies that your script (or other scripts on your server) have created. They are transmitted to the server with each request in the HTTP Cookie header. This collection is read-only. If you want to modify or add a cookie, use the HttpResponse.Cookies property instead.

The HttpRequest class provides some frequently used, lower-level properties. For example, the Form collection wraps the information returned from the HTML form elements, which you will typically access through the higher-level web control abstraction. Similarly, the Headers and ServerVariables collections allow you to access HTML headers and server variables directly, provided you know their names. Many of these variables now have corresponding read-only properties that you can use more easily, like HttpMethod (the data transfer method like GET or POST), UserHostAddress (the IP address of the client), and UserHostName (the DNS name of remote client). The Browser property is a reference to an HttpBrowserCapabilities object with full information about the user's browser.

Additional information available in the HttpRequest class includes the currently requested URL (Url), the URL from which the request is being made (UrlReferrer), and the root path for the current ASP.NET application as a virtual path (ApplicationPath) or physical filesystem path (PhysicalApplicationPath).

public sealed class 

HttpRequest { // Public Constructors public

HttpRequest (string

filename , string

url , string

queryString ); // Public Instance Properties public string[ ]

AcceptTypes {get; } public string

ApplicationPath {get; } public HttpBrowserCapabilities

Browser {set; get; } public HttpClientCertificate

ClientCertificate {get; } public Encoding

ContentEncoding {set; get; } public int

ContentLength {get; } public string

ContentType {set; get; } public HttpCookieCollection

Cookies {get; } public string

CurrentExecutionFilePath {get; } public string

FilePath {get; } public HttpFileCollection

Files {get; } public Stream

Filter {set; get; } public NameValueCollection

Form {get; } public NameValueCollection

Headers {get; } public string

HttpMethod {get; } public Stream

InputStream {get; } public bool

IsAuthenticated {get; } public bool

IsSecureConnection {get; } public NameValueCollection

Params {get; } public string

Path {get; } public string

PathInfo {get; } public string

PhysicalApplicationPath {get; } public string

PhysicalPath {get; } public NameValueCollection

QueryString {get; } public string

RawUrl {get; } public string

RequestType {set; get; } public NameValueCollection

ServerVariables {get; } public string

this [string

key ]{get; } public int

TotalBytes {get; } public Uri

Url {get; } public Uri

UrlReferrer {get; } public string

UserAgent {get; } public string

UserHostAddress {get; } public string

UserHostName {get; } public string[ ]

UserLanguages {get; } // Public Instance Methods public byte[ ]

BinaryRead (int

count ); public int[ ]

MapImageCoordinates (string

imageFieldName ); public string

MapPath (string

virtualPath ); public string

MapPath (string

virtualPath , string

baseVirtualDir , bool

allowCrossAppMapping ); public void

SaveAs (string

filename , bool

includeHeaders ); public void

ValidateInput ( ); }

Returned By

HttpApplication.Request, HttpContext.Request, System.Web.UI.Page.Request, System.Web.UI.UserControl.Request

Passed To

System.Web.Configuration.HttpCapabilitiesBase.GetConfigCapabilities( ), HttpContext.HttpContext( ), System.Web.Services.Protocols.MimeParameterReader.Read( ), System.Web.UI.MobileControls.Adapters.HtmlPageAdapter.DeterminePostBackMode( ), System.Web.UI.MobileControls.Adapters.WmlPageAdapter.DeterminePostBackMode( ), System.Web.UI.MobileControls.IPageAdapter.DeterminePostBackMode( )