Example #1
0
        /// <summary>
        /// 初始化环境参数
        /// </summary>
        /// <param name="dsConfig"></param>
        /// <param name="assemblyFullName"></param>
        private void InitializationDsEnvironment(IDsConfigurationSection dsConfig, string assemblyFullName)
        {
            //#if DEBUG

            //            Debugger.Launch();

            //#endif
            Console.WriteLine("InitializationDsEnvironment:{0},{1}".FormatString(dsConfig.ToString(), assemblyFullName));
            try
            {
                //var server;
                IDsEnvironment de = ParentContaioner.GetObject <IDsEnvironment>();
                IList <ModuleConfigurationElement> server = (from ModuleConfigurationElement me in dsConfig.Modules
                                                             where me.ModuleType.EndsWith(assemblyFullName)
                                                             select me).ToList <ModuleConfigurationElement>();
                Console.WriteLine("Modules:{0},server count:{0}".FormatString(dsConfig.Modules.Count, server.Count));
                ModuleConfigurationElement mce = server.FirstOrDefault();
                this.AddinInfo = new AddinInfo()
                {
                    AddinAssemblyName     = assemblyFullName,
                    AddinNameSpace        = mce.AssemblyFile.Substring(mce.AssemblyFile.LastIndexOf('/') + 1).Replace(".dll", ""),
                    AddinName             = mce.ModuleName,
                    ConfigurationFilePath = ConfigurationFileHelper.GetAddinConfigurationFilePath(mce.AssemblyFile),
                    AddinConfigurationEle = mce,
                    AddinPath             = PathHelper.GetFullPath(mce.AssemblyFile)
                };
                if (de.AddinInfos.ContainsKey(AddinInfo.AddinName))
                {
                    AddinInfo addin = de.AddinInfos[AddinInfo.AddinName];
                    addin.ConfigurationFilePath = this.AddinInfo.ConfigurationFilePath;
                    addin.AddinConfigurationEle = this.AddinInfo.AddinConfigurationEle;
                    addin.AddinPath             = this.AddinInfo.AddinPath;
                    //throw new Exception("DsEnvironment中注册AddinName失败,原因是AddinName作为键值重复!");
                }
                else
                {
                    de.AddinInfos.Add(mce.ModuleName, AddinInfo);
                }
            }catch (Exception ex)
            {
                Console.WriteLine("InitializationDsEnvironment异常:{0}".FormatString(ex.StackTrace.ToString()));

                throw new Exception("InitializationDsEnvironment异常。", ex);
            }
        }
Example #2
0
 /// <summary>
 /// 通过指定类型注册Region
 /// </summary>
 /// <param name="formObjectId"></param>
 /// <param name="registerType"></param>
 /// <param name="registerSingleton"></param>
 public void RegisterRegionFormType(string formObjectId, Type registerType, bool registerSingleton, bool lazyInit = false)
 {
     ParentContaioner.RegisterTypeIfMissing(formObjectId, registerType, registerSingleton, AutoWiringMode.Constructor, lazyInit);
 }