当前位置:编程学习 > C#/ASP.NET >>

如何为般处理程序写基类

为一般处理程序写一个基础类,读取用户信息,所有一般处理程序都去继承这个基类
public class Base:IHttpHandler, IRequiresSessionState
    {
        private string user = GetCookie("user");        
    }
目前出现以下两个错误:
错误 1 “Base”不实现接口成员“System.Web.IHttpHandler.IsReusable” E:\old\Base.cs 13 18


错误 2 “Base”不实现接口成员“System.Web.IHttpHandler.ProcessRequest(System.Web.HttpContext)” E:\old\Base.cs 13 18


请问如何处理。谢谢 --------------------编程问答-------------------- 实现继承的接口中的所有方法。 --------------------编程问答-------------------- 你可以直接做一个父级页面 BasePage.apsx 然后继承该页 --------------------编程问答--------------------
引用 1 楼 MicrosoftCenterOfHN 的回复:
实现继承的接口中的所有方法。


    public bool IsReusable {
        get {
            return false;
        }
    }

还有什么方法。
现在是一般处理程序继承基类,不是用于.aspx继承 --------------------编程问答-------------------- 基类请实现接口

 public bool IsReusable
        {
            get { throw new NotImplementedException(); }
        }

        public  void ProcessRequest(HttpContext context)
        {
           
        } --------------------编程问答--------------------
引用 4 楼 nice_fish 的回复:
基类请实现接口

 public bool IsReusable
        {
            get { throw new NotImplementedException(); }
        }

        public  void ProcessRequest(HttpContext context)
        {
           
        }



警告 3 “IsReusable”隐藏了继承的成员“Base.IsReusable”。如果是有意隐藏,请使用关键字 new。 E:\info.ashx 49 17

两个方法都实现了。但是出现这个问题
--------------------编程问答-------------------- 这个是公用的方法,子类不用写这个方法了。 --------------------编程问答--------------------
引用 6 楼 nice_fish 的回复:
这个是公用的方法,子类不用写这个方法了。


哪我子类如何输出数据 --------------------编程问答--------------------  public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";  
            context.Response.Write("-9999");
    }

以前输出数据都这样,如果现在基类实现了ProcessRequest ,在子类中如何输出? --------------------编程问答--------------------
引用 8 楼 hfyanzi 的回复:
 public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";  
            context.Response.Write("-9999");
    }

以前输出数据都这样,如果现在基类实现了ProcessRequest ,在子类中如何输出?


基类的方法是共用的,如果用将基类的方法让子类个性化,那基类的方法可以用virtual:
demo:
 public virtual void ProcessRequest(HttpContext context)
        {
           
        }
子类用override

  public override void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Hello World");
        }

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,