예제 #1
0
        protected void ActivateModule(IModuleDef module)
        {
            if (_active_modules == null)
            {
                _active_modules = new Dictionary <Type, IModuleDef>();
            }
            _active_modules.Add(module.Type, module);

            module.GetEntities(_record_entities);
        }
예제 #2
0
        public static void SetComponentInfo(out IModuleDef myModule, Object myObj, string myModuleName, string myPackageName, int nInstance, string myTag)
        {
            try
            {
                myModule = new ModuleDef();
                myModule.Name = myModuleName;
                myModule.PackageFullName = myPackageName;
                myModule.Instance = nInstance;
                myModule.HostName = myPackageName + ":" + nInstance.ToString();
                myModule.Server = System.Environment.MachineName;


                // Other component info

                Assembly myAssy = myObj.GetType().Assembly;

                string myAssyFullName = myAssy.FullName;

                myModule.PackageFullName = myAssyFullName;
                int myVersionStart = myAssyFullName.IndexOf("Version=");
                myVersionStart += 8;
                int myCultureStart = myAssyFullName.IndexOf("Culture=");

                string myAssyVersion = myAssyFullName.Substring(myVersionStart, myCultureStart - myVersionStart);
                myAssyVersion = myAssyVersion.Trim();

                myModule.PackageVersion = myAssyVersion;


                Process myCurrentProcess = Process.GetCurrentProcess();
                myModule.HostModule = myCurrentProcess.MainModule.ModuleName;
                myModule.HostFileName = myCurrentProcess.MainModule.FileName;
                myModule.HostVersionInfo = myCurrentProcess.MainModule.FileVersionInfo.ToString();

                myModule.Tag = myTag;



            }
            catch (Exception myE)
            {
                //m_Log.Error("SetComponentInfo", myE);
                myModule = null;
            }

        }