下面是類的定義。
復制代碼 代碼如下:
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('http://m.survivalescaperooms.com/');
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");
}
}
}
}
}
BeginRequest在 ASP.NET 響應請求時作為 HTTP 執行管線鏈中的第一個事件發生。
AuthenticateRequest當安全模塊已建立用戶標識時發生。
AuthorizeRequest當安全模塊已驗證用戶授權時發生。
ResolveRequestCache
在 ASP.NET 完成授權事件以使緩存模塊從緩存中為請求提供服務后發生,
從而繞過事件處理程序(例如某個頁或 XML Web services)的執行。
AcquireRequestState當 ASP.NET 獲取與當前請求關聯的當前狀態(如會話狀態)時發生。
PreRequestHandlerExecute恰好在 ASP.NET 開始執行事件處理程序(例如,某頁或某個 XML Web services)前發生。
PostRequestHandlerExecute在 ASP.NET 事件處理程序(例如,某頁或某個 XML Web service)執行完畢時發生。
ReleaseRequestState在 ASP.NET 執行完所有請求事件處理程序后發生。 該事件將使狀態模塊保存當前狀態數據。
UpdateRequestCache當 ASP.NET 執行完事件處理程序以使緩存模塊存儲將用于從緩存為后續請求提供服務的響應時發生。
EndRequest在 ASP.NET 響應請求時作為 HTTP 執行管線鏈中的最后一個事件發生。
復制代碼 代碼如下:
<httpModules>
<add type="QTJZ.Filters"/>
</httpModules>
新聞熱點
疑難解答
圖片精選