asp.net c#-通用处理程序(ashx)和BasePage

asp.net c#-通用处理程序(ashx)和BasePage,c#,handler,ashx,ihttphandler,app-code,C#,Handler,Ashx,Ihttphandler,App Code,在我的C#asp.net项目中,我有一个基本页面(In\App#u代码),普通的aspx页面继承基本页面。挑战是在没有直接继承的情况下访问基页 要从母版页访问基本页,请执行以下操作: private BasePage MyBasePage { get { try { return (BasePage)Page; } catch { return new

在我的C#asp.net项目中,我有一个基本页面(In\App#u代码),普通的aspx页面继承基本页面。挑战是在没有直接继承的情况下访问基页

要从母版页访问基本页,请执行以下操作:

private BasePage MyBasePage
{
    get
    {
        try
        {
            return (BasePage)Page;
        }
        catch
        {
            return new BasePage();
        }
    }
}
因此,我可以通过MyBasePage.myVoid()访问BasePage

从用户控件中,它的简单性如下(this.Page作为BasePage).myVoid()


但是在继承IHttpHandler的通用处理程序(ashx)中,我如何才能访问BasePage?

如果它不是从BasePage继承的,你不能假装它是继承的。听起来像是XY问题,所以请解释您试图实现的目标。例如,BasePage有一些代码来检查用户是否有权访问特定文件,我希望处理程序重用相同的代码。处理程序返回设置为HiddenSecgment的文件夹中的文件,因此我想需要处理程序实际执行访问测试–如果不是,每个人都可以直接访问处理程序来访问文件。如果它不是从BasePage继承的,你不能假装它继承了。听起来像是XY问题,所以请解释您试图实现的目标。例如,BasePage有一些代码来检查用户是否有权访问特定文件,我希望处理程序重用相同的代码。处理程序返回设置为HiddenSecgment的文件夹中的文件,因此我想需要处理程序实际执行访问测试–如果不是,每个人都可以直接访问处理程序来访问文件。