您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關C#中如何使用對象,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一、HttpModule
這個對象我們經常用來進行統一的權限判斷、日志等處理。
例子代碼:
publicclassMyModule:IHttpModule { publicvoidInit(HttpApplicationapplication) { application.BeginRequest+=newEventHandler(application_BeginRequest); } voidapplication_BeginRequest(objectsender,EventArgse) { ((HttpApplication)sender).Response.Write("Copyright@Gspring<br/>"); } publicvoidDispose() { } }
在Init方法中可以注冊很多application的事件,我們的例子就是在開始請求的時候加入自己的代碼,將版權聲明加到頁面的頭部
二、HttpHandler
這個對象經常用來加入特殊的后綴所對應的處理程序,比如可以限制.doc的文件只能給某個權限的人訪問。
Asp.Net中的Page類就是一個IHttpHandler的實現
例子代碼:
publicclassMyHandler:IHttpHandler { publicvoidProcessRequest(HttpContextctx) { ctx.Response.Write("Copyright@Gspring<br/>"); } publicboolIsReusable { get{returntrue;} } }
這個對象主要就是ProcessRequest方法,在這個方法中輸出版權信息,但同時也有一個問題:原來的頁面不會被處理,也就是說頁面中只有版權聲明了。那么所有的aspx頁面都不能正常運行了
三、HttpHandlerFactory
這個對象也可以用來加入特殊的后綴所對應的處理程序,它的功能比HttpHandler要更加強大,在系統的web.config中就是通過注冊HttpHandlerFactory來實現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);
//執行一些其它操作
Execute(handler);
returnhandler;
}
privatevoidExecute(IHttpHandlerhandler)
{
if(handlerisPage)
{
//可以直接對Page對象進行操作
((Page)handler).PreLoad+=newEventHandler(MyHandlerFactory_PreLoad);
}
}
voidMyHandlerFactory_PreLoad(objectsender,EventArgse)
{
((Page)sender).Response.Write("Copyright@Gspring<br/>");
}
publicvoidReleaseHandler(IHttpHandlerhandler)
{
}
}
上述就是小編為大家分享的C#中如何使用對象了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。