婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > ASP.NET中的URL過(guò)濾實(shí)現(xiàn)代碼

ASP.NET中的URL過(guò)濾實(shí)現(xiàn)代碼

熱門(mén)標(biāo)簽:蘋(píng)果手機(jī)凱立德地圖標(biāo)注 電話機(jī)器人軟件銷(xiāo)售工作 申請(qǐng)400電話手續(xù) 百度ai地圖標(biāo)注 南陽(yáng)外呼系統(tǒng)定制化 預(yù)測(cè)式外呼系統(tǒng)使用說(shuō)明 玉林市機(jī)器人外呼系統(tǒng)哪家好 同安公安400電話怎么申請(qǐng)流程 合肥電銷(xiāo)外呼系統(tǒng)哪家公司做的好

下面是類(lèi)的定義。

復(fù)制代碼 代碼如下:

using System;
 using System.Web;
 using System.Web.SessionState;

 namespace QTJZ
 {
     public class Filters : IHttpModule, IRequiresSessionState
     {
         public void Dispose() { }

         public void Init(HttpApplication application)
         {
             application.AcquireRequestState += new EventHandler(application_AcquireRequestState);
         }

         public void application_AcquireRequestState(object sender, EventArgs e)
         {
             HttpApplication application = sender as HttpApplication;
             HttpRequest request = application.Request;
             HttpResponse response = application.Response;

             string url=request.CurrentExecutionFilePath.Trim('/');
             string suffix = request.CurrentExecutionFilePathExtension.Trim('.');

             if (!url.Equals("Default.htm") (suffix == "aspx" || suffix == "htm"))
             {
                 object sessionObj = application.Context.Session == null ? null : application.Session["useID"];
                 if (sessionObj==null)
                 {
                     response.Redirect("~/Default.htm");
                 }
             }
         }
     }
 }

為了實(shí)現(xiàn)過(guò)濾的效果,F(xiàn)ilters類(lèi)需要實(shí)現(xiàn)IHttpMoeld接口,實(shí)現(xiàn)該接口需要有兩個(gè)方法,一個(gè)是Dispose,另一個(gè)是Init。Init的參數(shù)是一個(gè)HttpApplication類(lèi)型的實(shí)例,利用這個(gè)實(shí)例注冊(cè)一些事件。由于現(xiàn)在要對(duì)URL進(jìn)行過(guò)濾,因此注冊(cè)的是AcquireRequestState事件。類(lèi)似事件羅列如下
BeginRequest 在 ASP.NET 響應(yīng)請(qǐng)求時(shí)作為 HTTP 執(zhí)行管線鏈中的第一個(gè)事件發(fā)生。
AuthenticateRequest 當(dāng)安全模塊已建立用戶(hù)標(biāo)識(shí)時(shí)發(fā)生。
AuthorizeRequest 當(dāng)安全模塊已驗(yàn)證用戶(hù)授權(quán)時(shí)發(fā)生。
ResolveRequestCache

在 ASP.NET 完成授權(quán)事件以使緩存模塊從緩存中為請(qǐng)求提供服務(wù)后發(fā)生,

從而繞過(guò)事件處理程序(例如某個(gè)頁(yè)或 XML Web services)的執(zhí)行。

AcquireRequestState 當(dāng) ASP.NET 獲取與當(dāng)前請(qǐng)求關(guān)聯(lián)的當(dāng)前狀態(tài)(如會(huì)話狀態(tài))時(shí)發(fā)生。
PreRequestHandlerExecute 恰好在 ASP.NET 開(kāi)始執(zhí)行事件處理程序(例如,某頁(yè)或某個(gè) XML Web services)前發(fā)生。
PostRequestHandlerExecute 在 ASP.NET 事件處理程序(例如,某頁(yè)或某個(gè) XML Web service)執(zhí)行完畢時(shí)發(fā)生。
ReleaseRequestState 在 ASP.NET 執(zhí)行完所有請(qǐng)求事件處理程序后發(fā)生。 該事件將使?fàn)顟B(tài)模塊保存當(dāng)前狀態(tài)數(shù)據(jù)。
UpdateRequestCache 當(dāng) ASP.NET 執(zhí)行完事件處理程序以使緩存模塊存儲(chǔ)將用于從緩存為后續(xù)請(qǐng)求提供服務(wù)的響應(yīng)時(shí)發(fā)生。
EndRequest 在 ASP.NET 響應(yīng)請(qǐng)求時(shí)作為 HTTP 執(zhí)行管線鏈中的最后一個(gè)事件發(fā)生。

獲取要跳轉(zhuǎn)的url可以用request的CurrentExecutionFilePath屬性,而獲取請(qǐng)求文件的后綴可以用CurrentExecutionFilePathExtension,至于要按什么規(guī)則來(lái)判斷,按需求而定。我這里是在請(qǐng)求時(shí)判斷Session是否存在,不存在則跳轉(zhuǎn)回登陸頁(yè)面。由于要用到Session,打開(kāi)頁(yè)面的時(shí)候會(huì)拋出異常,異常信息是“會(huì)話狀態(tài)在此上下文中不可用?!?,在實(shí)現(xiàn)了IRequiresSessionState接口之后就沒(méi)有異常拋出了。

此外,還需要在配置文件Web.config的 system.web>節(jié)點(diǎn)下添加如下代碼
復(fù)制代碼 代碼如下:

httpModules>
add name="filters" type="QTJZ.Filters"/>
/httpModules>

其中type屬性則是上面Filters類(lèi)的完全限定名

您可能感興趣的文章:
  • asp.NET 臟字過(guò)濾算法 修改版
  • asp.NET 臟字過(guò)濾算法
  • ASP.NET過(guò)濾器的應(yīng)用方法介紹
  • asp.net 過(guò)濾圖片標(biāo)簽的正則
  • ASP.NET環(huán)境下為網(wǎng)站增加IP過(guò)濾功能
  • ASP.NET過(guò)濾HTML標(biāo)簽只保留換行與空格的方法
  • ASP.NET過(guò)濾HTML字符串方法總結(jié)
  • asp.net 臟字典過(guò)濾問(wèn)題 用正則表達(dá)式來(lái)過(guò)濾臟數(shù)據(jù)
  • Asp.net之?dāng)?shù)據(jù)過(guò)濾淺析
  • ASP.NET過(guò)濾類(lèi)SqlFilter,防止SQL注入
  • 高效.NET臟字過(guò)濾算法與應(yīng)用實(shí)例

標(biāo)簽:南昌 臺(tái)州 淄博 嘉興 南京 揚(yáng)州 南京 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET中的URL過(guò)濾實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  ASP.NET,中的,URL,過(guò)濾,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET中的URL過(guò)濾實(shí)現(xiàn)代碼》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于ASP.NET中的URL過(guò)濾實(shí)現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 杂多县| 保山市| 东乌珠穆沁旗| 蒙城县| 苗栗县| 霍山县| 龙井市| 越西县| 密云县| 石嘴山市| 闵行区| 阜阳市| 搜索| 临清市| 古田县| 白银市| 岳普湖县| 龙口市| 迁安市| 博野县| 汤原县| 葵青区| 河北省| 广平县| 蒙山县| 文成县| 宜阳县| 周口市| 花垣县| 永丰县| 镇安县| 呼和浩特市| 台湾省| 惠来县| 柯坪县| 衢州市| 霍林郭勒市| 定结县| 雅安市| 东光县| 麟游县|