這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)C#中如何使用對象,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
10年積累的成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有黟縣免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
一、HttpModule
這個對象我們經(jīng)常用來進(jìn)行統(tǒng)一的權(quán)限判斷、日志等處理。
例子代碼:
publicclassMyModule:IHttpModule { publicvoidInit(HttpApplicationapplication) { application.BeginRequest+=newEventHandler(application_BeginRequest); } voidapplication_BeginRequest(objectsender,EventArgse) { ((HttpApplication)sender).Response.Write("Copyright@Gspring
"); } publicvoidDispose() { } }
在Init方法中可以注冊很多application的事件,我們的例子就是在開始請求的時候加入自己的代碼,將版權(quán)聲明加到頁面的頭部
二、HttpHandler
這個對象經(jīng)常用來加入特殊的后綴所對應(yīng)的處理程序,比如可以限制.doc的文件只能給某個權(quán)限的人訪問。
Asp.Net中的Page類就是一個IHttpHandler的實現(xiàn)
例子代碼:
publicclassMyHandler:IHttpHandler { publicvoidProcessRequest(HttpContextctx) { ctx.Response.Write("Copyright@Gspring
"); } publicboolIsReusable { get{returntrue;} } }
這個對象主要就是ProcessRequest方法,在這個方法中輸出版權(quán)信息,但同時也有一個問題:原來的頁面不會被處理,也就是說頁面中只有版權(quán)聲明了。那么所有的aspx頁面都不能正常運行了
三、HttpHandlerFactory
這個對象也可以用來加入特殊的后綴所對應(yīng)的處理程序,它的功能比HttpHandler要更加強大,在系統(tǒng)的web.config中就是通過注冊HttpHandlerFactory來實現(xiàn)aspx頁面的訪問的。
HttpHandlerFactory是HttpHandler的工廠,通過它來生成不同的HttpHandler對象。
publicclassMyHandlerFactory:IHttpHandlerFactory
{
publicIHttpHandlerGetHandler(HttpContextcontext,stringrequestType,
stringurl,stringpathTranslated){
PageHandlerFactoryfactory=(PageHandlerFactory)Activator.
CreateInstance(typeof(PageHandlerFactory),true);IHttpHandlerhandler=factory.GetHandler
(context,requestType,url,pathTranslated);
//執(zhí)行一些其它操作
Execute(handler);
returnhandler;
}
privatevoidExecute(IHttpHandlerhandler)
{
if(handlerisPage)
{
//可以直接對Page對象進(jìn)行操作
((Page)handler).PreLoad+=newEventHandler(MyHandlerFactory_PreLoad);
}
}
voidMyHandlerFactory_PreLoad(objectsender,EventArgse)
{
((Page)sender).Response.Write("Copyright@Gspring
");}
publicvoidReleaseHandler(IHttpHandlerhandler)
{
}
}
上述就是小編為大家分享的C#中如何使用對象了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。