📜  ASP.NET-服务器端

📅  最后修改于: 2020-11-21 05:41:05             🧑  作者: Mango


我们研究了页面生命周期以及页面如何包含各种控件。页面本身被实例化为控件对象。所有的Web表单基本上都是ASP.NET Page类的实例。页面类具有以下与内部对象相对应的极其有用的属性:

  • 届会
  • 应用
  • 快取
  • 请求
  • 响应
  • 服务器
  • 用户
  • 跟踪

我们将在适当的时候讨论这些对象。在本教程中,我们将探索Server对象,Request对象和Response对象。

服务器对象

Asp.NET中的Server对象是System.Web.HttpServerUtility类的实例。 HttpServerUtility类提供了许多属性和方法来执行各种作业。

服务器对象的属性和方法

HttpServerUtility类的方法和属性通过ASP.NET提供的固有Server对象公开。

下表提供了属性列表:

Property Description
MachineName Name of server computer
ScriptTimeOut Gets and sets the request time-out value in seconds.

下表提供了一些重要方法的列表:

Method Description
CreateObject(String) Creates an instance of the COM object identified by its ProgID (Programmatic ID).
CreateObject(Type) Creates an instance of the COM object identified by its Type.
Equals(Object) Determines whether the specified Object is equal to the current Object.
Execute(String) Executes the handler for the specified virtual path in the context of the current request.
Execute(String, Boolean) Executes the handler for the specified virtual path in the context of the current request and specifies whether to clear the QueryString and Form collections.
GetLastError Returns the previous exception.
GetType Gets the Type of the current instance.
HtmlEncode Changes an ordinary string into a string with legal HTML characters.
HtmlDecode Converts an Html string into an ordinary string.
ToString Returns a String that represents the current Object.
Transfer(String) For the current request, terminates execution of the current page and starts execution of a new page by using the specified URL path of the page.
UrlDecode Converts an URL string into an ordinary string.
UrlEncodeToken Works same as UrlEncode, but on a byte array that contains Base64-encoded data.
UrlDecodeToken Works same as UrlDecode, but on a byte array that contains Base64-encoded data.
MapPath Return the physical path that corresponds to a specified virtual file path on the server.
Transfer Transfers execution to another web page in the current application.

请求对象

该请求对象是System.Web.HttpRequest类的实例。它表示使页面加载到浏览器中的HTTP请求的值和属性。

该对象提供的信息由更高级别的抽象(Web控制模型)包装。但是,此对象有助于检查某些信息,例如客户端浏览器和cookie。

请求对象的属性和方法

下表提供了Request对象的一些值得注意的属性:

Property Description
AcceptTypes Gets a string array of client-supported MIME accept types.
ApplicationPath Gets the ASP.NET application’s virtual application root path on the server.
Browser Gets or sets information about the requesting client’s browser capabilities.
ContentEncoding Gets or sets the character set of the entity-body.
ContentLength Specifies the length, in bytes, of content sent by the client.
ContentType Gets or sets the MIME content type of the incoming request.
Cookies Gets a collection of cookies sent by the client.
FilePath Gets the virtual path of the current request.
Files Gets the collection of files uploaded by the client, in multipart MIME format.
Form Gets a collection of form variables.
Headers Gets a collection of HTTP headers.
HttpMethod Gets the HTTP data transfer method (such as GET, POST, or HEAD) used by the client.
InputStream Gets the contents of the incoming HTTP entity body.
IsSecureConnection Gets a value indicating whether the HTTP connection uses secure sockets (that is, HTTPS).
QueryString Gets the collection of HTTP query string variables.
RawUrl Gets the raw URL of the current request.
RequestType Gets or sets the HTTP data transfer method (GET or POST) used by the client.
ServerVariables Gets a collection of Web server variables.
TotalBytes Gets the number of bytes in the current input stream.
Url Gets information about the URL of the current request.
UrlReferrer Gets information about the URL of the client’s previous request that is linked to the current URL.
UserAgent Gets the raw user agent string of the client browser.
UserHostAddress Gets the IP host address of the remote client.
UserHostName Gets the DNS name of the remote client.
UserLanguages Gets a sorted string array of client language preferences.

下表提供了一些重要方法的列表:

Method Description
BinaryRead Performs a binary read of a specified number of bytes from the current input stream.
Equals(Object) Determines whether the specified object is equal to the current object. (Inherited from object.)
GetType Gets the Type of the current instance.
MapImageCoordinates Maps an incoming image-field form parameter to appropriate x-coordinate and y-coordinate values.
MapPath(String) Maps the specified virtual path to a physical path.
SaveAs Saves an HTTP request to disk.
ToString Returns a String that represents the current object.
ValidateInput Causes validation to occur for the collections accessed through the Cookies, Form, and QueryString properties.

响应对象

Response对象代表服务器对客户端请求的响应。它是System.Web.HttpResponse类的实例。

在ASP.NET中,响应对象在将HTML文本发送到客户端方面没有任何重要作用,因为服务器端控件具有嵌套的,面向对象的方法来呈现自身。

但是,HttpResponse对象仍然提供一些重要的功能,例如cookie功能和Redirect()方法。 Response.Redirect()方法允许将用户转移到应用程序内外的另一个页面。它需要往返。

响应对象的属性和方法

下表提供了Response对象的一些值得注意的属性:

Property Description
Buffer Gets or sets a value indicating whether to buffer the output and send it after the complete response is finished processing.
BufferOutput Gets or sets a value indicating whether to buffer the output and send it after the complete page is finished processing.
Charset Gets or sets the HTTP character set of the output stream.
ContentEncoding Gets or sets the HTTP character set of the output stream.
ContentType Gets or sets the HTTP MIME type of the output stream.
Cookies Gets the response cookie collection.
Expires Gets or sets the number of minutes before a page cached on a browser expires.
ExpiresAbsolute Gets or sets the absolute date and time at which to remove cached information from the cache.
HeaderEncoding Gets or sets an encoding object that represents the encoding for the current header output stream.
Headers Gets the collection of response headers.
IsClientConnected Gets a value indicating whether the client is still connected to the server.
Output Enables output of text to the outgoing HTTP response stream.
OutputStream Enables binary output to the outgoing HTTP content body.
RedirectLocation Gets or sets the value of the Http Location header.
Status Sets the status line that is returned to the client.
StatusCode Gets or sets the HTTP status code of the output returned to the client.
StatusDescription Gets or sets the HTTP status string of the output returned to the client.
SubStatusCode Gets or sets a value qualifying the status code of the response.
SuppressContent Gets or sets a value indicating whether to send HTTP content to the client.

下表提供了一些重要方法的列表:

Method Description
AddHeader Adds an HTTP header to the output stream. AddHeader is provided for compatibility with earlier versions of ASP.
AppendCookie Infrastructure adds an HTTP cookie to the intrinsic cookie collection.
AppendHeader Adds an HTTP header to the output stream.
AppendToLog Adds custom log information to the InterNET Information Services (IIS) log file.
BinaryWrite Writes a string of binary characters to the HTTP output stream.
ClearContent Clears all content output from the buffer stream.
Close Closes the socket connection to a client.
End Sends all currently buffered output to the client, stops execution of the page, and raises the EndRequest event.
Equals(Object) Determines whether the specified object is equal to the current object.
Flush Sends all currently buffered output to the client.
GetType Gets the Type of the current instance.
Pics Appends a HTTP PICS-Label header to the output stream.
Redirect(String) Redirects a request to a new URL and specifies the new URL.
Redirect(String, Boolean) Redirects a client to a new URL. Specifies the new URL and whether execution of the current page should terminate.
SetCookie Updates an existing cookie in the cookie collection.
ToString Returns a String that represents the current Object.
TransmitFile(String) Writes the specified file directly to an HTTP response output stream, without buffering it in memory.
Write(Char) Writes a character to an HTTP response output stream.
Write(Object) Writes an object to an HTTP response stream.
Write(String) Writes a string to an HTTP response output stream.
WriteFile(String) Writes the contents of the specified file directly to an HTTP response output stream as a file block.
WriteFile(String, Boolean) Writes the contents of the specified file directly to an HTTP response output stream as a memory block.

下面的简单示例具有一个文本框控件(用户可以在其中输入名称),一个将信息发送到服务器的按钮以及一个标签控件(用于显示客户端计算机的URL)。

内容文件:

Untitled Page
   
   
   
      
Enter your name:

Button1_Click背后的代码:

protected void Button1_Click(object sender, EventArgs e) {

   if (!String.IsNullOrEmpty(TextBox1.Text)) {
   
      // Access the HttpServerUtility methods through
      // the intrinsic Server object.
      Label1.Text = "Welcome, " + Server.HtmlEncode(TextBox1.Text) + ". 
The url is " + Server.UrlEncode(Request.Url.ToString()) } }

运行页面以查看以下结果:

ASP.NET服务器端