× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

ASP.NET - Server Side và các thông tin hữu ích

20/04/2022 06:56

Chúng ta đã nghiên cứu vòng đời của trang và cách một trang chứa các điều khiển khác nhau. Bản thân trang được khởi tạo như một đối tượng điều khiển. Tất cả các biểu mẫu web về cơ bản là các phiên bản của lớp Trang ASP.NET. Lớp trang có các thuộc tính cực kỳ hữu ích sau đây tương ứng với các đối tượng nội tại:

Chúng ta đã nghiên cứu vòng đời của trang và cách một trang chứa các điều khiển khác nhau. Bản thân trang được khởi tạo như một đối tượng điều khiển. Tất cả các biểu mẫu web về cơ bản là các phiên bản của lớp Trang ASP.NET. Lớp trang có các thuộc tính cực kỳ hữu ích sau đây tương ứng với các đối tượng nội tại:

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

Chúng ta sẽ thảo luận về từng đối tượng này trong thời gian thích hợp. Trong hướng dẫn này, chúng ta sẽ khám phá đối tượng Máy chủ, đối tượng Yêu cầu và đối tượng Phản hồi.

asp.net

Đối tượng máy chủ

Đối tượng Server trong Asp.NET là một thể hiện của lớp System.Web.HttpServerUtility. Lớp HttpServerUtility cung cấp nhiều thuộc tính và phương thức để thực hiện các công việc khác nhau.

Thuộc tính và phương thức của đối tượng Máy chủ

Các phương thức và thuộc tính của lớp HttpServerUtility được hiển thị thông qua đối tượng Máy chủ nội tại do ASP.NET cung cấp.

Bảng sau cung cấp danh sách các thuộc tính:

Bất động sản

Sự miêu tả

Tên may moc

Tên máy chủ

ScriptTimeOut

Nhận và đặt giá trị thời gian chờ yêu cầu tính bằng giây.

Bảng sau cung cấp danh sách một số phương pháp quan trọng:

Phương pháp

Sự miêu tả

CreateObject (Chuỗi)

Tạo một phiên bản của đối tượng COM được xác định bởi ProgID (ID lập trình) của nó.

CreateObject (Loại)

Tạo một phiên bản của đối tượng COM được xác định bởi Loại của nó.

Bằng (Đối tượng)

Xác định xem đối tượng được chỉ định có bằng đối tượng hiện tại hay không.

Thực thi (Chuỗi)

Thực thi trình xử lý cho đường dẫn ảo được chỉ định trong ngữ cảnh của yêu cầu hiện tại.

Thực thi (Chuỗi, Boolean)

Thực thi trình xử lý cho đường dẫn ảo được chỉ định trong ngữ cảnh của yêu cầu hiện tại và chỉ định xem có xóa các tập hợp QueryString và Form hay không.

GetLastError

Trả về ngoại lệ trước đó.

GetType

Rút ra loại của trường hợp hiện tại.

HtmlEncode

Thay đổi một chuỗi thông thường thành một chuỗi có các ký tự HTML hợp pháp.

HtmlDecode

Chuyển đổi một chuỗi Html thành một chuỗi thông thường.

ToString

Trả về một chuỗi đại diện cho các đối tượng hiện tại.

Chuyển (Chuỗi)

Đối với yêu cầu hiện tại, hãy chấm dứt thực thi trang hiện tại và bắt đầu thực thi một trang mới bằng cách sử dụng đường dẫn URL được chỉ định của trang.

UrlDecode

Chuyển đổi một chuỗi URL thành một chuỗi thông thường.

UrlEncodeToken

Hoạt động giống như UrlEncode, nhưng trên một mảng byte có chứa dữ liệu được mã hóa Base64.

UrlDecodeToken

Hoạt động giống như UrlDecode, nhưng trên một mảng byte có chứa dữ liệu được mã hóa Base64.

MapPath

Trả về đường dẫn vật lý tương ứng với đường dẫn tệp ảo được chỉ định trên máy chủ.

Chuyển giao

Truyền thực thi sang một trang web khác trong ứng dụng hiện tại.

>>> Đọc thêm: ASP.NET - Event Handling và những điều bạn cần biết

Đối tượng yêu cầu

Đối tượng yêu cầu là một thể hiện của lớp System.Web.HttpRequest. Nó đại diện cho các giá trị và thuộc tính của yêu cầu HTTP làm cho trang tải vào trình duyệt.

Thông tin được trình bày bởi đối tượng này được bao bọc bởi các phần trừu tượng cấp cao hơn (mô hình điều khiển web). Tuy nhiên, đối tượng này giúp kiểm tra một số thông tin như trình duyệt máy khách và cookie.

Thuộc tính và phương thức của đối tượng yêu cầu

Bảng sau cung cấp một số thuộc tính đáng chú ý của đối tượng Request:

Tên

Sự miêu tả

AcceptTypes

Nhận một mảng chuỗi gồm các kiểu chấp nhận MIME do ứng dụng khách hỗ trợ.

ApplicationPath

Lấy đường dẫn gốc ứng dụng ảo của ứng dụng ASP.NET trên máy chủ.

Trình duyệt

Nhận hoặc đặt thông tin về khả năng trình duyệt của ứng dụng khách yêu cầu.

ContentEncoding

Nhận hoặc đặt bộ ký tự của phần thân thực thể.

Thời lượng nội dung

Chỉ định độ dài, tính bằng byte, của nội dung do khách hàng gửi.

ContentType

Nhận hoặc đặt loại nội dung MIME của yêu cầu đến.

Bánh quy

Nhận một bộ sưu tập các cookie do khách hàng gửi.

Đường dẫn tập tin

Nhận đường dẫn ảo của yêu cầu hiện tại.

Các tập tin

Nhận bộ sưu tập các tệp do máy khách tải lên, ở định dạng MIME nhiều phần.

Biểu mẫu

Nhận một tập hợp các biến biểu mẫu.

Tiêu đề

Nhận một bộ sưu tập các tiêu đề HTTP.

HttpMethod

Nhận phương thức truyền dữ liệu HTTP (chẳng hạn như GET, POST hoặc HEAD) được ứng dụng khách sử dụng.

InputStream

Lấy nội dung của phần thân thực thể HTTP đến.

IsSecureConnection

Nhận một giá trị cho biết liệu kết nối HTTP có sử dụng các ổ cắm an toàn hay không (nghĩa là HTTPS).

Chuỗi truy vấn

Nhận tập hợp các biến chuỗi truy vấn HTTP.

RawUrl

Nhận URL thô của yêu cầu hiện tại.

RequestType

Nhận hoặc đặt phương thức truyền dữ liệu HTTP (GET hoặc POST) được ứng dụng khách sử dụng.

ServerVariables

Nhận tập hợp các biến máy chủ Web.

TotalBytes

Nhận số byte trong luồng đầu vào hiện tại.

Url

Nhận thông tin về URL của yêu cầu hiện tại.

UrlReferrer

Nhận thông tin về URL của yêu cầu trước đó của khách hàng được liên kết với URL hiện tại.

Đại lý người dùng

Nhận chuỗi tác nhân người dùng thô của trình duyệt máy khách.

UserHostAddress

Nhận địa chỉ máy chủ IP của máy khách từ xa.

Tên người dùng

Nhận tên DNS của máy khách từ xa.

Người dùng

Nhận một mảng chuỗi được sắp xếp của các tùy chọn ngôn ngữ ứng dụng khách.

Bảng sau cung cấp danh sách một số phương pháp quan trọng:

Phương pháp

Sự miêu tả

BinaryRead

Thực hiện đọc nhị phân một số byte được chỉ định từ luồng đầu vào hiện tại.

Bằng (Đối tượng)

Xác định xem đối tượng được chỉ định có bằng đối tượng hiện tại hay không. (Được kế thừa từ đối tượng.)

GetType

Rút ra loại của trường hợp hiện tại.

Bản đồ

Ánh xạ một tham số dạng trường hình ảnh đến với các giá trị tọa độ x và tọa độ y thích hợp.

MapPath (Chuỗi)

Ánh xạ đường dẫn ảo được chỉ định đến đường dẫn thực.

Lưu thành

Lưu một yêu cầu HTTP vào đĩa.

ToString

Trả về một chuỗi đại diện cho các đối tượng hiện tại.

ValidateInput

Làm cho việc xác thực xảy ra đối với các bộ sưu tập được truy cập thông qua các thuộc tính Cookie, Form và QueryString.

Đối tượng phản hồi

Đối tượng Phản hồi đại diện cho phản hồi của máy chủ đối với yêu cầu của máy khách. Nó là một thể hiện của lớp System.Web.HttpResponse.

Trong ASP.NET, đối tượng phản hồi không đóng bất kỳ vai trò quan trọng nào trong việc gửi văn bản HTML đến máy khách, vì các điều khiển phía máy chủ có các phương thức hướng đối tượng lồng nhau để tự hiển thị.

Tuy nhiên, đối tượng HttpResponse vẫn cung cấp một số chức năng quan trọng, như tính năng cookie và phương thức Redirect (). Phương thức Response.Redirect () cho phép chuyển người dùng sang một trang khác, bên trong cũng như bên ngoài ứng dụng. Nó yêu cầu một chuyến đi khứ hồi.

Thuộc tính và phương pháp của đối tượng phản hồi

Bảng sau cung cấp một số thuộc tính đáng chú ý của đối tượng Response:

Bất động sản

Sự miêu tả

Đệm

Nhận hoặc đặt một giá trị cho biết có nên đệm đầu ra và gửi nó sau khi xử lý xong phản hồi hoàn chỉnh hay không.

BufferOutput

Nhận hoặc đặt một giá trị cho biết có nên đệm đầu ra và gửi nó sau khi xử lý xong trang hoàn chỉnh hay không.

Bộ ký tự

Lấy hoặc đặt bộ ký tự HTTP của luồng đầu ra.

ContentEncoding

Lấy hoặc đặt bộ ký tự HTTP của luồng đầu ra.

ContentType

Nhận hoặc đặt kiểu HTTP MIME của luồng đầu ra.

Bánh quy

Nhận bộ sưu tập cookie phản hồi.

Hết hạn

Nhận hoặc đặt số phút trước khi một trang được lưu trong bộ nhớ cache trên trình duyệt hết hạn.

Hết hạn

Lấy hoặc đặt ngày và giờ tuyệt đối để xóa thông tin đã lưu trong bộ nhớ cache.

HeaderEncoding

Lấy hoặc đặt đối tượng mã hóa đại diện cho mã hóa cho luồng đầu ra tiêu đề hiện tại.

Tiêu đề

Nhận bộ sưu tập các tiêu đề phản hồi.

IsClientConnected

Nhận một giá trị cho biết liệu máy khách có còn được kết nối với máy chủ hay không.

Đầu ra

Cho phép xuất văn bản sang luồng phản hồi HTTP gửi đi.

OutputStream

Cho phép đầu ra nhị phân cho nội dung HTTP gửi đi.

RedirectLocation

Nhận hoặc đặt giá trị của tiêu đề Vị trí Http.

Tình trạng

Đặt dòng trạng thái được trả lại cho máy khách.

Mã trạng thái

Lấy hoặc đặt mã trạng thái HTTP của đầu ra được trả lại cho máy khách.

Tình trạng Mô tả

Lấy hoặc đặt chuỗi trạng thái HTTP của đầu ra được trả lại cho máy khách.

Mã trạng thái con

Nhận hoặc đặt một giá trị đủ điều kiện cho mã trạng thái của phản hồi.

SuppressContent

Nhận hoặc đặt một giá trị cho biết có gửi nội dung HTTP đến máy khách hay không.

Bảng sau cung cấp danh sách một số phương pháp quan trọng:

Phương pháp

Sự miêu tả

AddHeader

Thêm tiêu đề HTTP vào luồng đầu ra. AddHeader được cung cấp để tương thích với các phiên bản ASP trước đó.

AppendCookie

Cơ sở hạ tầng thêm cookie HTTP vào bộ sưu tập cookie nội tại.

AppendHeader

Thêm tiêu đề HTTP vào luồng đầu ra.

AppendToLog

Thêm thông tin nhật ký tùy chỉnh vào tệp nhật ký Dịch vụ Thông tin InterNET (IIS).

BinaryWrite

Ghi một chuỗi ký tự nhị phân vào luồng đầu ra HTTP.

ClearContent

Xóa tất cả đầu ra nội dung khỏi luồng bộ đệm.

Đóng

Đóng kết nối ổ cắm với máy khách.

Chấm dứt

Gửi tất cả đầu ra hiện được lưu trong bộ đệm tới máy khách, dừng thực thi trang và tăng sự kiện EndRequest.

Bằng (Đối tượng)

Xác định xem đối tượng được chỉ định có bằng đối tượng hiện tại hay không.

Tuôn ra

Gửi tất cả đầu ra hiện được lưu trong bộ đệm cho máy khách.

GetType

Rút ra loại của trường hợp hiện tại.

Bức ảnh

Thêm tiêu đề PICS-Nhãn HTTP vào luồng đầu ra.

Chuyển hướng (Chuỗi)

Chuyển hướng một yêu cầu đến một URL mới và chỉ định URL mới.

Chuyển hướng (Chuỗi, Boolean)

Chuyển hướng khách hàng đến một URL mới. Chỉ định URL mới và việc thực thi trang hiện tại có nên chấm dứt hay không.

SetCookie

Cập nhật một cookie hiện có trong bộ sưu tập cookie.

ToString

Trả về một chuỗi đại diện cho các đối tượng hiện tại.

TransmitFile (Chuỗi)

Ghi tệp được chỉ định trực tiếp vào luồng đầu ra phản hồi HTTP mà không lưu tệp đó vào bộ nhớ.

Viết (Char)

Ghi một ký tự vào luồng đầu ra phản hồi HTTP.

Viết (Đối tượng)

Ghi một đối tượng vào luồng phản hồi HTTP.

Viết (Chuỗi)

Ghi một chuỗi vào luồng đầu ra phản hồi HTTP.

WriteFile (Chuỗi)

Ghi trực tiếp nội dung của tệp được chỉ định vào luồng đầu ra phản hồi HTTP dưới dạng một khối tệp.

WriteFile (Chuỗi, Boolean)

Ghi trực tiếp nội dung của tệp được chỉ định vào luồng đầu ra phản hồi HTTP dưới dạng khối bộ nhớ.

Ví dụ

Ví dụ đơn giản sau đây có điều khiển hộp văn bản nơi người dùng có thể nhập tên, nút để gửi thông tin đến máy chủ và điều khiển nhãn để hiển thị URL của máy tính khách.

Tệp nội dung:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 

   Inherits="server_side._Default" %>




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">




<html xmlns="http://www.w3.org/1999/xhtml" >




   <head runat="server">

      <title>Untitled Page</title>

   </head>

   

   <body>

      <form id="form1" runat="server">

         <div>

            

            Enter your name:

            <br />

            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Submit" />

            <br />

            <asp:Label ID="Label1" runat="server"/>




         </div>

      </form>

   </body>

   

</html>

Mã đằng sau 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) + ". <br/> The url is " + Server.UrlEncode(Request.Url.ToString())

   }

}

Chạy trang để xem kết quả sau:

 

Trên đây là các thông tin về Server Side trong ASP. Net, bạn có thể tham khảo thêm khóa học lập trình ASp.Net nếu muốn hoặc tìm hiểu thông tin về các khóa học lập trình khác thông qua mục Blog của chúng tôi.