在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C#/ ASP.NET服務(wù)端
ASP.NET調(diào)試
ASP.NET Web Services
ASP.NET緩存
ASP.NET多線程
ASP.NET面板控件
ASP.NET數(shù)據(jù)綁定
ASP.NET數(shù)據(jù)源
ASP.NET個(gè)性化
ASP.Net教程
ASP.NET Ajax控件
ASP.NET生命周期
ASP.NET HTML服務(wù)器
ASP.NET簡(jiǎn)介
ASP.NET驗(yàn)證器
ASP.NET多視圖
ASP.NET網(wǎng)站配置
ASP.NET錯(cuò)誤管理
ASP.NET自定義控件
ASP.NET LINQ
ASP.NET AdRotator控件
ASP.NET客戶端
ASP.NET文件上傳
ASP.NET服務(wù)器控件
ASP.NET開發(fā)環(huán)境配置
ASP.NET管理狀態(tài)
ASP.NET服務(wù)端
ASP.NET數(shù)據(jù)庫(kù)訪問(wèn)(Access)
ASP.NET基本控件
ASP.NET安全
ASP.NET指令
ASP.NET事件處理
ASP.NET第一個(gè)程序
ASP.NET日歷控件

ASP.NET服務(wù)端

在這章中,我們研究頁(yè)面生命周期以及頁(yè)面如何包含各種控件。頁(yè)面本身被實(shí)例化為一個(gè)控制對(duì)象。所有的Web窗體基本上都是ASP.NET Page類的實(shí)例。 Page類具有以下對(duì)應(yīng)于內(nèi)部對(duì)象的非常有用的屬性:

  • Session
  • Application
  • Cache
  • Request
  • Response
  • Server
  • User
  • Trace

我們將在適當(dāng)?shù)臅r(shí)候討論這些對(duì)象。在本教程中,我們將學(xué)習(xí)Server對(duì)象,Request對(duì)象和Response對(duì)象。

Server對(duì)象

Asp.NET中的Server對(duì)象是System.Web.HttpServerUtility類的一個(gè)實(shí)例。 HttpServerUtility類提供了許多執(zhí)行各種作業(yè)的屬性和方法。

服務(wù)器對(duì)象的屬性和方法
HttpServerUtility類的方法和屬性通過(guò)ASP.NET提供的內(nèi)部服務(wù)器對(duì)象公開。

下表提供了屬性的列表:

屬性 描述
MachineName 服務(wù)器計(jì)算機(jī)的名稱
ScriptTimeOut 獲取和設(shè)置請(qǐng)求超時(shí)值,以秒為單位。

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

編號(hào) 方法 描述
1 CreateObject(String) 創(chuàng)建由其ProgID(編程ID)標(biāo)識(shí)的COM對(duì)象的一個(gè)實(shí)例。
2 CreateObject(Type) 創(chuàng)建由其類型標(biāo)識(shí)的COM對(duì)象的一個(gè)實(shí)例。
3 Equals(Object) 確定指定的對(duì)象(Object)是否等于當(dāng)前的對(duì)象。
4 Execute(String) 在當(dāng)前請(qǐng)求的上下文中執(zhí)行指定虛擬路徑的處理程序。
5 Execute(String, Boolean) 在當(dāng)前請(qǐng)求的上下文中執(zhí)行指定虛擬路徑的處理程序,并指定是否清除QueryStringForm集合。
6 GetLastError 返回以前的異常。
7 GetType 獲取當(dāng)前實(shí)例的類型。
8 HtmlEncode 將普通字符串更改為具有合法HTML字符的字符串。
9 HtmlDecode 將Html字符串轉(zhuǎn)換為普通字符串。
10 ToString 返回表示當(dāng)前對(duì)象的字符串。
11 Transfer(String) 對(duì)于當(dāng)前請(qǐng)求,終止當(dāng)前頁(yè)面的執(zhí)行,并使用指定的頁(yè)面URL路徑開始執(zhí)行新頁(yè)面。
12 UrlDecode 將URL字符串轉(zhuǎn)換為普通字符串。
13 UrlEncodeToken UrlEncode相同,但是在包含Base64編碼數(shù)據(jù)的字節(jié)數(shù)組上。
14 UrlDecodeToken UrlDecode相同,但在包含Base64編碼數(shù)據(jù)的字節(jié)數(shù)組上。
15 MapPath 返回與服務(wù)器上指定的虛擬文件路徑對(duì)應(yīng)的物理路徑。
16 Transfer 將執(zhí)行轉(zhuǎn)移到當(dāng)前應(yīng)用程序中的另一個(gè)網(wǎng)頁(yè)。

HttpRequest對(duì)象

HttpRequest對(duì)象是System.Web.HttpRequest類的一個(gè)實(shí)例。 它表示使頁(yè)面加載到瀏覽器中的HTTP請(qǐng)求的值和屬性。

這個(gè)對(duì)象提供的信息被更高層次的抽象(Web控制模型)所包圍。 但是,此對(duì)象有助于檢查某些信息,如客戶端瀏覽器和Cookie。

請(qǐng)求對(duì)象的屬性和方法

下表提供了Request對(duì)象的一些值得注意的屬性:

編號(hào) 屬性 描述
1 AcceptTypes 獲取客戶端支持的MIME接受類型的字符串?dāng)?shù)組。
2 ApplicationPath 獲取服務(wù)器上的ASP.NET應(yīng)用程序的虛擬應(yīng)用程序根路徑。
3 Browser 獲取或設(shè)置有關(guān)請(qǐng)求客戶端的瀏覽器功能的信息。
4 ContentEncoding 獲取或設(shè)置實(shí)體主體的字符集。
5 ContentLength 指定客戶端發(fā)送的內(nèi)容的長(zhǎng)度(以字節(jié)為單位)。
6 ContentType 獲取或設(shè)置傳入請(qǐng)求的MIME內(nèi)容類型。
7 Cookies 獲取客戶端發(fā)送的Cookie的集合。
8 FilePath 獲取當(dāng)前請(qǐng)求的虛擬路徑。
9 Files 獲取客戶端上傳的文件的集合,采用多部分MIME格式。
10 Form 獲取表單變量的集合。
11 Headers 獲取HTTP標(biāo)頭的集合。
12 HttpMethod 獲取客戶端使用的HTTP數(shù)據(jù)傳輸方法(如GET,POSTHEAD)。
13 InputStream 獲取傳入的HTTP實(shí)體主體的內(nèi)容。
14 IsSecureConnection 獲取一個(gè)值,該值指示HTTP連接是否使用安全套接字(即HTTPS)。
15 QueryString 獲取HTTP查詢字符串變量的集合。
16 RawUrl 獲取當(dāng)前請(qǐng)求的原始URL。
17 RequestType 獲取或設(shè)置客戶端使用的HTTP數(shù)據(jù)傳輸方法(GETPOST)。
18 ServerVariables 獲取Web服務(wù)器變量的集合。
19 TotalBytes 獲取當(dāng)前輸入流中的字節(jié)數(shù)。
20 Url 獲取有關(guān)當(dāng)前請(qǐng)求的URL的信息。
21 UrlReferrer 獲取有關(guān)鏈接到當(dāng)前URL的客戶端先前請(qǐng)求的URL的信息。
22 UserAgent 獲取客戶端瀏覽器的原始用戶代理字符串。
23 UserHostAddress 獲取遠(yuǎn)程客戶端的IP主機(jī)地址。
24 UserHostName 獲取遠(yuǎn)程客戶端的DNS名稱。
25 UserLanguages 獲取客戶端語(yǔ)言首選項(xiàng)的排序字符串?dāng)?shù)組。

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

編號(hào) 方法 描述
1 BinaryRead 對(duì)當(dāng)前輸入流執(zhí)行指定字節(jié)數(shù)的二進(jìn)制讀取。
2 Equals(Object) 確定指定的對(duì)象是否等于當(dāng)前對(duì)象。 (從object繼承。)
3 GetType 獲取當(dāng)前實(shí)例的類型。
4 MapImageCoordinates 將傳入的圖像字段形式參數(shù)映射到適當(dāng)?shù)?code>x坐標(biāo)和y坐標(biāo)值。
5 MapPath(String) 將指定的虛擬路徑映射到物理路徑。
6 SaveAs 將HTTP請(qǐng)求保存到磁盤。
7 ToString 返回表示當(dāng)前對(duì)象的字符串。
8 ValidateInput 對(duì)通過(guò)Cookies,FormQueryString屬性訪問(wèn)的集合進(jìn)行驗(yàn)證。

Response對(duì)象

Response對(duì)象表示服務(wù)器對(duì)客戶端請(qǐng)求的響應(yīng)。 它是System.Web.HttpResponse類的一個(gè)實(shí)例。

在ASP.NET中,響應(yīng)對(duì)象在向客戶端發(fā)送HTML文本時(shí)不起任何重要作用,因?yàn)榉?wù)器端控件具有嵌套的,面向?qū)ο蟮姆椒▉?lái)呈現(xiàn)自己。

但是,HttpResponse對(duì)象仍然提供了一些重要的功能,如Cookie功能和Redirect()方法。 Response.Redirect()方法允許將用戶轉(zhuǎn)移到另一個(gè)頁(yè)面。

Response對(duì)象的屬性和方法

下表提供了Response對(duì)象的一些值得注意的屬性:

編號(hào) 屬性 描述
1 Buffer 獲取或設(shè)置一個(gè)值,指示是否緩沖輸出并在完成響應(yīng)完成處理后發(fā)送。
2 BufferOutput 獲取或設(shè)置一個(gè)值,指示是否在完成頁(yè)面處理完成后緩存輸出并發(fā)送。
3 Charset 獲取或設(shè)置輸出流的HTTP字符集。
4 ContentEncoding 獲取或設(shè)置輸出流的HTTP字符集。
5 ContentType 獲取或設(shè)置輸出流的HTTP MIME類型。
6 Cookies 獲取響應(yīng)cookie集合。
7 Expires 獲取或設(shè)置在瀏覽器上緩存的頁(yè)面到期之前的分鐘數(shù)。
8 ExpiresAbsolute 獲取或設(shè)置從緩存中刪除緩存信息的絕對(duì)日期和時(shí)間。
9 HeaderEncoding 獲取或設(shè)置一個(gè)編碼對(duì)象,該對(duì)象表示當(dāng)前標(biāo)題輸出流的編碼。
10 Headers 獲取響應(yīng)標(biāo)頭的集合。
11 IsClientConnected 獲取一個(gè)值,指示客戶端是否仍連接到服務(wù)器。
12 Output 啟用將文本輸出到傳出的HTTP響應(yīng)流。
13 OutputStream 啟用二進(jìn)制輸出到傳出HTTP內(nèi)容主體。
14 RedirectLocation 獲取或設(shè)置Http Location標(biāo)頭的值。
15 Status 設(shè)置返回給客戶端的狀態(tài)行。
16 StatusCode 獲取或設(shè)置返回給客戶端的輸出的HTTP狀態(tài)碼。
17 StatusDescription 獲取或設(shè)置返回給客戶端的輸出的HTTP狀態(tài)字符串。
18 SubStatusCode 獲取或設(shè)置一個(gè)限定響應(yīng)狀態(tài)碼的值。
19 SuppressContent 獲取或設(shè)置一個(gè)值,指示是否向客戶端發(fā)送HTTP內(nèi)容。

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

編號(hào) 方法 描述
1 AddHeader 將HTTP標(biāo)頭添加到輸出流。提供AddHeader是為了與早期版本的ASP兼容。
2 AppendCookie 基礎(chǔ)架構(gòu)將HTTP cookie添加到內(nèi)部cookie集合中。
3 AppendHeader 將HTTP標(biāo)頭添加到輸出流。
4 AppendToLog 將自定義日志信息添加到InterNET信息服務(wù)(IIS)日志文件。
5 BinaryWrite 將一串二進(jìn)制字符寫入HTTP輸出流。
6 ClearContent 清除緩沖流中的所有內(nèi)容輸出。
7 Close 關(guān)閉與客戶端的套接字連接。
8 End 將所有當(dāng)前緩沖的輸出發(fā)送到客戶端,停止頁(yè)面的執(zhí)行,并引發(fā)EndRequest事件。
9 Equals(Object) 確定指定的對(duì)象(Object)是否等于當(dāng)前對(duì)象。
10 Flush 將所有當(dāng)前緩沖的輸出發(fā)送到客戶端。
11 GetType 獲取當(dāng)前實(shí)例的類型。
12 Pics 將HTTP PICS-Label標(biāo)頭附加到輸出流。
13 Redirect(String) 將請(qǐng)求重定向到新的URL并指定新的URL。
14 Redirect(String, Boolean) 將客戶端重定向到新的URL。指定新的URL以及當(dāng)前頁(yè)面的執(zhí)行是否應(yīng)該終止。
15 SetCookie 更新cookie集合中的現(xiàn)有cookie。
16 ToString 返回表示當(dāng)前對(duì)象的字符串。
17 TransmitFile(String) 將指定的文件直接寫入HTTP響應(yīng)輸出流,而不將其緩沖在內(nèi)存中。
18 Write(Char) 將一個(gè)字符寫入HTTP響應(yīng)輸出流。
19 Write(Object) 將對(duì)象寫入HTTP響應(yīng)流。
20 Write(String) 將一個(gè)字符串寫入HTTP響應(yīng)輸出流。
21 WriteFile(String) 將指定文件的內(nèi)容直接寫入HTTP響應(yīng)輸出流作為文件塊。
22 WriteFile(String, Boolean) 將指定文件的內(nèi)容直接寫入HTTP響應(yīng)輸出流作為內(nèi)存塊。

示例

下面的簡(jiǎn)單例子有一個(gè)文本框控件,用戶可以輸入名字,一個(gè)按鈕將信息發(fā)送到服務(wù)器,一個(gè)標(biāo)簽控件用于顯示客戶端的URL。

打開Visual Studio,創(chuàng)建一個(gè)空的網(wǎng)站項(xiàng)目:ServerSide,參考下圖 -

在項(xiàng)目名稱上點(diǎn)擊右鍵,并添加一個(gè)Web窗體文件(Defualt.aspx),參考下圖 -

其內(nèi)容如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>服務(wù)器端示例</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="請(qǐng)輸入姓名:"></asp:Label>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" />
            <br />
            <br />
            <asp:Label ID="Label2" runat="server"></asp:Label>
        </div>
    </form>
</body>
</html>

打開 Default.cs,添加Button1_Click事件處理的代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (!String.IsNullOrEmpty(TextBox1.Text))
        {

            // Access the HttpServerUtility methods through
            // the intrinsic Server object.
            Label1.Text = "歡迎您, " + Server.HtmlEncode(TextBox1.Text) + ". <br/> 當(dāng)前 URL 是 " + Server.UrlEncode(Request.Url.ToString());
        }
    }

}

運(yùn)行該項(xiàng)目(頁(yè)面),得到類似以下結(jié)果:

輸入一個(gè)名字:Yiibai,然后提交,得到以下結(jié)果 -