溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET中怎么實現(xiàn)HTTP請求

發(fā)布時間:2021-07-15 15:21:34 來源:億速云 閱讀:129 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關(guān)ASP.NET中怎么實現(xiàn)HTTP請求,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

ASP.NET中實現(xiàn)HTTP請求

應該指出的是,并不是所有的應用程序集DLL都能實現(xiàn)HTTP請求/響應模式。還是來看一下Microsoft Asp.Net快速入門教程中關(guān)于"Http 處理程序和工廠"的描述:

ASP.NET 提供低級別的請求/響應 API,使開發(fā)人員能夠使用 .NET 框架類為傳入的 HTTP請求提供服務。為此,開發(fā)人員需創(chuàng)作支持 System.Web.IHTTPHandler 接口和實現(xiàn) ProcessRequest()方法的類。當處理 HTTP 請求不需要由高級別的 頁框架抽象化提供的服務時,處理程序通常很有用。處理程序的常用用途包括篩選器和類似 CGI 的應用程序,尤其是那些返回二進制數(shù)據(jù)的應用程序。

ASP.NET 收到的每個傳入 HTTP請求最終由實現(xiàn) IHTTPHandler 的類的特定實例來處理。IHttpHandlerFactory 提供了處理 IHttpHandler 實例 URL 請求的實際解析的結(jié)構(gòu)。除了 ASP.NET 提供的默認 IHttpHandlerFactory 類外, 開發(fā)人員還可以選擇創(chuàng)建和注冊工廠以支持大量的請求解析和激活方案。

從這段文字可以看出,當aspx頁面不涉及。net框架提供的高級界面技術(shù)(如數(shù)據(jù)緩存、狀態(tài)保持、Web窗體控件引用等等)時,且向客戶端輸出的不是復雜的HTML文本,特別是只向客戶端返回二進制數(shù)據(jù)(如圖片,聲音等)時,可以用一個。cs應用程序文件(本文使用c#語言,如果是用VB或 JScript,……)來替代,而該應用程序必須有一個實現(xiàn) System.Web.IHTTPHandler 接口和并實現(xiàn) ProcessRequest() 方法的類。一個簡單的例子如下:

public bool IsReusable  {  get  { return true; }  }   public void ProcessRequest(HttpContext context)  {  HttpResponse res = context.Response;   res.Write("<html><body>");  res.Write("<h2>DllTest - Ex1(例1)</h2><hr>");  res.Write("本頁面直接由DLL處理");  1 res.Write("</html></body>");  }

在命令行狀態(tài),用如下的編譯命令把ex1.cs編譯成ex1.dll,并把它存放在bin目錄下。

csc /t:library /out:bin\ex1.dll ex1.cs
可以但要寫全路徑
csc /t:library /out:j:\WebSite\WebTest\bin\ex1.dll
J:\WebSite\WebTest\App_Code\ex1.cs

在配置文件web.config中添加aspx->dll映射,添加后,web.config應該是這樣子的:

<?xml version="1.0"?> <configuration> <system.web> <httpHandlers> <add verb="*" path="dlltest1.aspx" type="DllTest.ex1Page,ex1" /> </httpHandlers> </system.web> </configuration>

現(xiàn)在當瀏覽器訪問http://localhost/dlltest/dlltest1.aspx時,實際上就是調(diào)用了ex1.dll中DllTest.Ex1Page類的ProcessRequest方法,在瀏覽中應該可以看到一個簡單的頁面。

以上就是ASP.NET中怎么實現(xiàn)HTTP請求,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI