예제 #1
0
파일: AppContext.cs 프로젝트: sachem1/IDDD
 internal AppContext(PlatformContext platformContext, AppModel app, ICache cache)
 {
     PlatformContext   = platformContext;
     ClearEventHandle += item =>
     {
         // 不清理AppContext
         //PlatformContext.Remove(app.Name);
     };
     CacheKey = string.Format("{0}-{1}", platformContext.CacheKey, app.Name);
     Cache    = cache;
 }
예제 #2
0
        public static AppContext BuildAppContext(this PlatformContext platformContext)
        {
            var app = new AppModel
            {
                Id     = CoralConvert.Convert <long>(AppConfig.AppSettings["AppId"]),
                Key    = AppConfig.AppSettings["AppKey"],
                Secret = AppConfig.AppSettings["AppSecret"],
                Name   = AppConfig.AppSettings["AppName"],
                Code   = AppConfig.AppSettings["AppCode"],
                Domain = AppConfig.DllConfigs["Host"]["Servers"]["AppDomain"]
            };

            if (string.IsNullOrEmpty(app.Domain))
            {
                throw new ArgumentNullException("Domain", "请在Configs文件夹中Host配置文件的Servers节点配置AppDomain项的值");
            }
            return(platformContext.CreateAppContext(app));
        }