• ASP.NET 开发, PageBase, ModuleBase


    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; }
            }

        }

    }
  • 相关阅读:
    【学习总结】Git学习-参考廖雪峰老师教程二-安装Git
    【学习总结】Git学习-参考廖雪峰老师教程一-Git简介
    【学习总结】vi/vim命令是使用
    【学习总结】Git学习-参考廖雪峰老师教程-总
    【kindle笔记】之 《鬼吹灯》-9-20
    【学习总结】win7下安装Ubuntu双系统的日常
    【kindle笔记】之 《明朝那些事儿》-2018-7-1
    【kindle笔记】之 《黑客微百科》-2018-6-17
    【kindle笔记】之 《恶意》-2018-4-20
    【kindle笔记】之 《活着》-2018-2-5
  • 原文地址:https://www.cnblogs.com/hcfalan/p/500752.html
Copyright © 2020-2023  润新知