using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Security.Principal;namespace ClassLibrary2
{
    public class Class1:IHttpModule
    {
        #region IHttpModule 成员        public void Dispose()
        {
            throw new Exception("The method or operation is not implemented.");
        }        public void Init(HttpApplication context)
        {
            context.AuthenticateRequest+=new EventHandler(this.AuthenticateRequest);//这一行报错如下
              //System.Exception: The method or operation is not         implemented.                                                         
        }        #endregion        private void AuthenticateRequest(object o,EventArgs e)
        {
            HttpApplication objApp = o as HttpApplication;
            HttpContext context = objApp.Context as HttpContext;
            if(objApp.Request["userid"]==null||objApp.Request["password"]==null)
            {
                context.Response.Write("用户名和密码为空,验证失败");
                context.Response.End();
            }
            string userid = "";
            userid = objApp.Request["userid"].ToString();
            string password = "";
            password = objApp.Request["password"].ToString();
            string[] strRoles;
            strRoles = AuthenticateAndGetRoles(userid, password);
            if(strRoles==null||strRoles.GetLength(0)==0)
            {
                context.Response.Write("用户名或密码错误");
                objApp.CompleteRequest();
            }
            GenericIdentity gi = new GenericIdentity(userid,"CustomAuthentication");
            context.User = new GenericPrincipal(gi,strRoles);
        }        private string[] AuthenticateAndGetRoles(string stu,string stp) 
        {
            string[] strRoles = null;
            if (stu.Equals("Zhangsan") && stp.Equals("111")) 
            {
                strRoles = new string[1];
                strRoles[0] = "Administrator";
            }
            else if (stu.Equals("Lisi") && stp.Equals("222"))
            {
                strRoles = new string[1];
                strRoles[0] = "User";
            }
            return strRoles;
        }
    }
}
我想问一下System.Exception: The method or operation is not implemented.这是怎么回事??怎么解决~~~

解决方案 »

  1.   

    没看出来什么问题啊。下面是msdn中的source code来自
    Walkthrough: Creating and Registering a Custom HTTP Module
    ms-help://MS.MSDNQTR.v90.en/dv_vwdcon/html/7787d5be-40a4-4072-9075-c2b767428453.htm好像和你的代码差不多啊。
    using System;
    using System.Web;
    public class HelloWorldModule : IHttpModule
    {
        public HelloWorldModule()
        {
        }    public String ModuleName
        {
            get { return "HelloWorldModule"; }
        }    // In the Init function, register for HttpApplication 
        // events by adding your handlers.
        public void Init(HttpApplication application)
        {
            application.BeginRequest += 
                (new EventHandler(this.Application_BeginRequest));
            application.EndRequest += 
                (new EventHandler(this.Application_EndRequest));
        }    private void Application_BeginRequest(Object source, 
             EventArgs e)
        {
        // Create HttpApplication and HttpContext objects to access
        // request and response properties.
            HttpApplication application = (HttpApplication)source;
            HttpContext context = application.Context;
            string filePath = context.Request.FilePath;
            string fileExtension = VirtualPathUtility.GetExtension(filePath);
            if (fileExtension.Equals(".aspx"))
            {
                context.Response.Write("<h1><font color=red>" +
                    "HelloWorldModule: Beginning of Request" +
                    "</font></h1><hr>");
            }
        }    private void Application_EndRequest(Object source, EventArgs e)
        {
            HttpApplication application = (HttpApplication)source;
            HttpContext context = application.Context;
            string filePath = context.Request.FilePath;
            string fileExtension = VirtualPathUtility.GetExtension(filePath);
            if (fileExtension.Equals(".aspx"))
            {
                context.Response.Write("<hr><h1><font color=red>" +
                    "HelloWorldModule: End of Request</font></h1>");
            }
        }
        public void Dispose()
        {
        }
    }
      

  2.   

    public void Dispose()
            {
                throw new Exception("The method or operation is not implemented.");
            }
      

  3.   

      private void Application_AuthenticateRequest(Object source, EventArgs e)
    {
    }
    先这样看看有没有问题,(看看是不是事件里面的代码问题)