国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

ASP.NET之自定義同步HTTP處理程序(圖文教程)

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:42:01
文檔

ASP.NET之自定義同步HTTP處理程序(圖文教程)

ASP.NET之自定義同步HTTP處理程序(圖文教程):一、前言 說來這片簡單的教程還真是碰巧,是剛好我在寫另一個頁指令的時(shí)候看到的。就跟著進(jìn)來看了看是什么東西,發(fā)現(xiàn)比我們之前只會用.ashx,并且只能在申請這個文件才可以進(jìn)行響應(yīng)。這些似乎讓它變不靈活,不能讓我們靈活的應(yīng)用。而自定義HTTP處理程序可以完
推薦度:
導(dǎo)讀ASP.NET之自定義同步HTTP處理程序(圖文教程):一、前言 說來這片簡單的教程還真是碰巧,是剛好我在寫另一個頁指令的時(shí)候看到的。就跟著進(jìn)來看了看是什么東西,發(fā)現(xiàn)比我們之前只會用.ashx,并且只能在申請這個文件才可以進(jìn)行響應(yīng)。這些似乎讓它變不靈活,不能讓我們靈活的應(yīng)用。而自定義HTTP處理程序可以完

一、前言

說來這片簡單的教程還真是碰巧,是剛好我在寫另一個頁指令的時(shí)候看到的。就跟著進(jìn)來看了看是什么東西,發(fā)現(xiàn)比我們之前只會用.ashx,并且只能在申請這個文件才可以進(jìn)行響應(yīng)。這些似乎讓它變不靈活,不能讓我們靈活的應(yīng)用。而自定義HTTP處理程序可以完全消除上面的問題,它只是一個.cs的類文件,并且你只要按照很簡單的準(zhǔn)備工作就可以獲得很多的靈活度:

1.可以自定義用戶訪問何網(wǎng)頁時(shí)響應(yīng)該文件并把數(shù)據(jù)呈現(xiàn)發(fā)送給客戶端 

2.可以對所有具有一致的后綴名的請求文件定義一個處理程序 

3.具有同步與異步選擇

我相信一定有人對于上面的說有一定不的理解,這里我需要解釋它的一個重要意義,那么大家就自然知道它的靈活所在了。

我們先舉例:

1.比如你訪問    http://www.****.com/web1.msll

你一定發(fā)現(xiàn)了問題所在.后綴名是 .msll 你瀏覽網(wǎng)頁到如今一定沒有見過。而這個的確就是自定義HTTP處理程序的一個特點(diǎn)所在,后綴名可以自己偽造。這個時(shí)候你一定會認(rèn)為 web1 是那個 .cs 文件的名稱,但是結(jié)果是 web1 根本不是那個 .cs 文件的文件名.他們是通過綁定來實(shí)現(xiàn)的。比如我實(shí)現(xiàn)了一個  he.cs 的類,然后我將其綁定到  hehehe.ppd 那么當(dāng)你訪問 http://www.*****.com/hehehe.ppd  那么響應(yīng)這個頁面的是 he.cs 的輸出結(jié)果

2.我們還是假設(shè)你訪問  http://www.****.com/list1.ssm

                       http://www.****.com/list2.ssm

                       http://www.****.com/list3.ssm

   假如我告訴你這個三個看似不同的頁面其實(shí)都是一個 HTTP處理程序的輸出結(jié)果,這個其實(shí)很好理解,如果我寫了一個 bbsss.cs 的類,并且實(shí)現(xiàn)了有關(guān)功能。然后我將其綁定到 *.ssm 你可以發(fā)現(xiàn)這里是 *.ssm  這個時(shí)候你就按照你正常的思考,就是只要是對后綴名是 .ssm 頁面的申請都是使用同一個 bbsss.cs 類,這下是不是有趣了

二、注冊與綁定

   為什么要有這兩部呢?而且還是要注冊與綁定這兩個呢?

   答案是 你只寫一個類 vs是不可能知道你這個東西是干什么的,所以我們需要在 web.config 中注冊我們自定義的HTTP處理程序。而綁定則是讓iis知道我們這個站點(diǎn)中含有一個自定義的HTTP處理程序。(下面我將以 iis7 為例說明如何綁定)

1.注冊
代碼如下:
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="<!-- 這里寫需要綁定的客戶端申請的頁面(*.smm,*.ffs,web1.ffe) -->" type="<!-- 這里寫處理程序的類名 -->"
</httpHandlers>
</system.web>
</configuration>

以上需要自行編寫的部分我都已使用注釋寫好

2.綁定( iis7 )

    1) 打開 iis7 -》 打開  網(wǎng)站  節(jié)點(diǎn) -》 點(diǎn)擊你的網(wǎng)站的名稱

    2) 雙擊

    3) 點(diǎn)擊

    4)

    5) 最后點(diǎn)擊 確定 這樣在 iis 中的綁定就完成了(后面的完整例子我將會以文字介紹該過程)

三、關(guān)于類的實(shí)現(xiàn)注意點(diǎn)

   雖然我們介紹完了注冊與綁定,但還不是所有,關(guān)于類的實(shí)現(xiàn)也有一定的要求。根據(jù)MSDN文檔的說明必須實(shí)現(xiàn) ProcessRequest 方法與 IsReusable 屬性

關(guān)于 ProcessRequest 可以暫時(shí)理解為 Page_Load (即使他比Page_Load更底層)

其次就是沒有內(nèi)置的 Request 與 Response ,可能有些人要崩潰了那怎么寫啊,很簡單的問題沒有內(nèi)置我們就自己去定義

IsReusable 的類型是 bool 類型,而且只要實(shí)現(xiàn) get 不需要實(shí)現(xiàn) set ,如果返回 true 表示使用線程池 如果為 false 表示不使用

關(guān)于這個類文件的放置也有要求,要放在App_Code 文件夾下(vs的站點(diǎn)中可以直接新建這個特殊的文件夾)

四、完整的例子(自行新建類)

1.

   以下為 HelloWorldHandler.cs 類的具體實(shí)現(xiàn)(放置在 App_Code 文件夾下)
代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
///HelloWorldHandler 的摘要說明
/// </summary>
public class HelloWorldHandler : IHttpHandler
{
public HelloWorldHandler()
{
}

public void ProcessRequest(HttpContext context)
{
HttpRequest Request = context.Request;
HttpResponse Response = context.Response;
Response.Write("<html>");
Response.Write("<body>");
Response.Write("<h1>hello</h1>");
Response.Write("</body>");
Response.Write("</html>");
}

public bool IsReusable
{
get
{
return false;
}
}
}

2.以下為 web.config 的內(nèi)容
代碼如下:
<httpHandlers> 
<add verb="*" path="*.sample" type="HelloWorldHandler" /> 
</httpHandlers>

3.IIS 配置(不要忘記把項(xiàng)目部署到 iis 中)

以下為具體配置

然后測試 http://localhost/SampleApplication/test.sample(端口為 80 時(shí))

你就可以看到你的成果了

五、完結(jié)

到此你已經(jīng)基本掌握了 自定義同步HTTP處理程序 ,當(dāng)然這個只是一小部分,后面我們還會接觸到異步,因?yàn)橥皆谟脩粼L問量很大的情況下將會使服務(wù)器資源迅速耗盡,而且也會讓降低用戶的實(shí)用性

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

ASP.NET之自定義同步HTTP處理程序(圖文教程)

ASP.NET之自定義同步HTTP處理程序(圖文教程):一、前言 說來這片簡單的教程還真是碰巧,是剛好我在寫另一個頁指令的時(shí)候看到的。就跟著進(jìn)來看了看是什么東西,發(fā)現(xiàn)比我們之前只會用.ashx,并且只能在申請這個文件才可以進(jìn)行響應(yīng)。這些似乎讓它變不靈活,不能讓我們靈活的應(yīng)用。而自定義HTTP處理程序可以完
推薦度:
標(biāo)簽: 教程 http htt
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 爽爽窝窝午夜精品一区二区 | 国产全黄a一级毛片视频 | 国内一级野外a一级毛片 | 东京热毛片 | 国产日韩一区二区三区在线观看 | 99精品国产高清一区二区三区香蕉 | 日韩在线激情 | 97在线亚洲 | 亚洲日韩欧美视频 | 亚洲综合日韩 | 欧美日韩欧美日韩 | 91亚洲国产成人久久精品网址 | www.国产精品 | 亚洲欧美综合图区官网 | 国产精品亚洲片在线观看不卡 | 大陆日韩欧美 | 欧洲日韩视频二区在线 | 欧美日韩一区二区三 | 日韩欧美三级视频 | 男女男精品网站 | 91免费视频观看 | 欧美极品欧美精品欧美视频 | 欧美日本免费一区二区三区 | 国产精品亚洲一区二区在线观看 | 亚洲 欧美 手机 在线观看 | 啪啪网站免费 | 精品国产综合区久久久久99 | 岛国一区 | 中文字幕美日韩在线高清 | 一级免费毛片 | 亚洲欧美在线观看视频 | 午夜日本一区二区三区 | 欧美第一网站 | 日韩大片免费观看视频播放 | 日本韩国欧美一区 | 欧美日韩综合精品一区二区三区 | 国产视频一区二区 | 国产乱了真实在线观看 | 国产青草 | 欧美啊v在线观看 | 97成人免费视频 |