<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答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
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

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

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

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

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

        一、前言

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

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

        2.可以對(duì)所有具有一致的后綴名的請(qǐng)求文件定義一個(gè)處理程序 

        3.具有同步與異步選擇

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

        我們先舉例:

        1.比如你訪問(wèn)    http://www.****.com/web1.msll

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

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

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

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

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

        二、注冊(cè)與綁定

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

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

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

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

        2.綁定( iis7 )

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

            2) 雙擊

            3) 點(diǎn)擊

            4)

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

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

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

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

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

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

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

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

        1.

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

        /// <summary>
        ///HelloWorldHandler 的摘要說(shuō)明
        /// </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 中)

        以下為具體配置

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

        你就可以看到你的成果了

        五、完結(jié)

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

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

        文檔

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

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

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 在线成人a毛片免费播放 | 亚洲一区二区三区久久| 亚洲免费人成在线视频观看| 亚洲午夜福利精品无码| 国产99久久亚洲综合精品 | www.亚洲精品.com| 亚洲一二成人精品区| 久久国产免费一区| 久久亚洲国产精品成人AV秋霞| 久视频精品免费观看99| 91亚洲国产成人久久精品| 毛片网站免费在线观看| 美国毛片亚洲社区在线观看 | 午夜免费啪视频在线观看| 精品亚洲成a人片在线观看| 欧洲乱码伦视频免费| 亚洲精品无码mⅴ在线观看| 四虎影在线永久免费四虎地址8848aa| 狠狠综合亚洲综合亚洲色| 亚洲综合精品网站在线观看| 国产免费一区二区三区在线观看| 亚洲天天做日日做天天欢毛片| 无人在线直播免费观看| 国产综合成人亚洲区| 亚洲人成人无码网www电影首页| 小草在线看片免费人成视久网| 亚洲人成在线免费观看| 免费在线不卡视频| 日本视频在线观看永久免费| 亚洲国产熟亚洲女视频| 久久影视国产亚洲| 8x网站免费入口在线观看| 亚洲第一成年网站视频| 亚洲国产精品特色大片观看完整版| 亚洲一级免费视频| 黄色免费网址在线观看| 亚洲精品福利网泷泽萝拉| mm1313亚洲精品国产| 国产在线观看麻豆91精品免费| 色网站在线免费观看| 亚洲精品网站在线观看你懂的|