zoukankan      html  css  js  c++  java
  • 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; }
            }

        }

    }
  • 相关阅读:
    vue 手动挂载 $amount()
    Redis 主从配置
    DMA分区管理
    C# 构造函数里的base和this的区别
    SQL Server 数据库性能优化
    TCP和UDP的优缺点及区别
    Django框架初步应用简述
    前端vue框架应用雏形
    接口mock之moco
    python进阶(九)~~~协程、进程池、线程/进程/协程对比
  • 原文地址:https://www.cnblogs.com/hcfalan/p/500752.html
Copyright © 2011-2022 走看看