using System;
using System.Web.UI;
public class ApplicationConfiguration : IConfigurationSectionHandler
{
    public Object Create(Object parent, object configContext, XmlNode section)
    {
        //
    }
    public static void OnApplicationStart(String myAppPath)
    {
        appRoot = myAppPath;
        // init ApplicationConfiguration & call it's Create message
        System.Configuration.ConfigurationSettings.GetConfig("ApplicationConfiguration");
    }
}
public class Global : System.Web.HttpApplication
{
    protected void Application_Start(Object sender, EventArgs e)
    {
        // do something at Application Start
        ApplicationConfiguration.OnApplicationStart(Context.Server.MapPath(Context.Request.ApplicationPath));
    }
}
/// <summary>
/// All pages base class
/// </summary>
public class PageBase : Page
{
    public const String KEY_CACHEUSER = "Cache::User";
    private static String pageSecureUrlBase; // for securite http, that is: https
    private static String pageUrlBase;
    private static String urlSuffix;
    public PageBase()
    {
        try
        {
            string strPort = (Context.Request.Url.Port == 80 ? "" : String.Format(":{0}", Context.Request.Url.Port));
            string strApp = (Context.Request.ApplicationPath == "/" ? "" : Context.Request.ApplicationPath);
            this.urlSuffix = Context.Request.Url.Host + strPort + strApp;
            this.pageUrlBase = @"http://" + urlSuffix;
        }
        catch
        {
            // for design time
        }
    }
    public static String UrlBase
    {
        get { return pageUrlBase; }
    }
    public UserInfo SignInUser
    {
        get 
        {
            try { return (UserInfo)Session[KEY_CACHEUSER]; }
            catch { return null; /* for design time*/  }
        }
        set
        {
            if (null == value) { Session.Remove(KEY_CACHEUSER); }
            else { Session[KEY_CACHEUSER] = value;  }
        }
    }
    protected override void OnError(EventArgs e)
    {
        // todo your error handle code here
        //
..
        
        // and determind if call base OnError message or not
        // base.OnError(e);
    }
}
/// <summary>
/// All user controls base class
/// </summary>
public class ModuleBase : UserControl
{
    private String basePathPrefix;
    public String PathPrefix
    {
        get
        {
            if (null == basePathPrefix) { basePathPrefix = PageBase.UrlBase; }
            return basePathPrefix;
        }
        set
        {
            basePathPrefix = value;
        }
    }
    public UserInfo SignInUser
    {
        get
        {
            try { return (UserInfo)Session[PageBase.KEY_CACHEUSER]; }
            catch { return null; /* for design time*/  }
        }
        set
        {
            if (null == value) { Session.Remove(PageBase.KEY_CACHEUSER); }
            else { Session[PageBase.KEY_CACHEUSER] = value; }
        }
    }
}
                    
                
    
                
            
        
浙公网安备 33010602011771号