国产97色在线|亚洲-欧美人妻另类制服丝袜-欧美人成国产91视频-殷素素一女战二夫|www.ycjrc.net

ASP.NET ashx 基類的使用方法, ashx 如何繼承, ashx 基類如何實現

發布時間:2020-12-01 05:47 作者:獨孤劍 閱讀:1762

ashx文件沒有頁面元素,這點上區別于aspx頁面,所以在效率上要比aspx頁面高,通常用于ajax提交處理程序,實際項目中,用戶的每個請求需要判斷用戶是否登錄,可以是Cookie, Session,每個請求頁面中去寫判斷用戶是否登錄的方法過于麻煩,所以可以通過一個基類實現所有請求方法前的用戶登錄狀態判斷。應用基類的好處可以將一些基本驗證,公用方法,函數統一處理。


BaseHandle.ashx

    /// <summary>
    /// 基類
    /// ashx中如果要使用Session需要繼承 IRequiresSessionState 接口
    /// </summary>
    public class BaseHandler : IHttpHandler, IRequiresSessionState
    {
        /// <summary>
        /// 請求處理
        /// </summary>
        /// <param name="context"></param>
        public void ProcessRequest(HttpContext context)
        {
            // 邏輯驗證, 如: 用戶登錄驗證
            // ...
            // ...
            // ...
            if (1 == 0)
            {
                context.Response.ContentType = "text/plain";
                context.Response.Write("error");
                return;
            }

            context.Response.ContentType = "text/plain";
            context.Response.Write("BaseHandler");

            AjaxRequest(context);
        }

        /// <summary>        
        /// ajax請求, 繼承頁面進行請求調用        
        /// </summary>        
        /// <param name="context"></param>        
        public virtual void AjaxRequest(HttpContext context) { }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }


繼承頁面,Test.ashx

    public class Test : BaseHandler
    {
        public override void AjaxRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Test");

            // 業務邏輯
            // ...
            // ...
            // ...
        }
    }


微信打賞, 微信掃一掃

支付寶打賞, 支付寶掃一掃

如果文章對您有幫助,歡迎給作者打賞

作者最新文章
開發過程中解決360兼容模式瀏覽器的方法
云南象群向西南方向遷移,云南離群獨象距離象群約12公里
吉林做網站最低價格,吉林企業網站建設價格低至500元起
守象人直擊云南象群最新動向
網站影響百度蜘蛛抓取量的因素有哪些?為什么我的網站Baidu蜘蛛來的次數少?
企業名片
在線客服