カスタムIHTTPHanderでのSessionの使い方

1706 ワード

<%@ WebHandler Language="C#" Class="FormValidator" %>



using System;

using System.Web;



public class FormValidator : IHttpHandler, System.Web.SessionState.IRequiresSessionState{

    

    public void ProcessRequest (HttpContext context) {

        context.Response.ContentType = "text/plain";

        string type = context.Request["type"];

        bool status = false;

        

        if (!string.IsNullOrEmpty(type))

        {

            Maitonn.BLL.UserBLL user = Maitonn.BLL.UserBLL.CreateInstance();

            switch (type)

            { 

                case "email":

                    string email=context.Request["Vemail"];

                    status = !user.ExsitEmail(email);

                    break;

                case "nid":

                    string nid = context.Request["Vnid"];

                    status = !user.ExsitNid(nid);

                    break;

                case "vcode":

                    string vcode = context.Request["Vvcode"];

                    if (context.Session["VCode"] != null)

                    { 

                        status= context.Session["VCode"].ToString().Equals(vcode, StringComparison.OrdinalIgnoreCase);

                    }

                    break;

            }

        }

        context.Response.Write(string.Format("{{res:{0}}}", status));

    }

 

    public bool IsReusable {

        get {

            return false;

        }

    }



}


システムを継承する必要があります.Web.SessionState.IRequiresSessionStateインタフェースは、Sessionにアクセスする権限を持つことができます.そうでないと、アクセス時に空になります.