示例#1
0
        private void InstantiatePlugIn(PlugInAttribute plugInInfo)
        {
            var     appDomain = _appDomains[plugInInfo];
            IPlugIn plugIn    = appDomain.CreateInstanceAndUnwrap(plugInInfo.PlugInName, plugInInfo.EntryType) as IPlugIn;

            _plugIns.Add(plugInInfo, plugIn);
        }
示例#2
0
        private void CreateAppDomain(PlugInAttribute plugInInfo)
        {
            AppDomainSetup domainSetup = new AppDomainSetup();
            domainSetup.ApplicationName = plugInInfo.PlugInName;
            domainSetup.ConfigurationFile = plugInInfo.PlugInName + ".dll.config";
            domainSetup.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;
            var appDomain = AppDomain.CreateDomain(domainSetup.ApplicationName, AppDomain.CurrentDomain.Evidence, domainSetup);

            _appDomains.Add(plugInInfo, appDomain);
        }
示例#3
0
        private void CreateAppDomain(PlugInAttribute plugInInfo)
        {
            AppDomainSetup domainSetup = new AppDomainSetup();

            domainSetup.ApplicationName   = plugInInfo.PlugInName;
            domainSetup.ConfigurationFile = plugInInfo.PlugInName + ".dll.config";
            domainSetup.ApplicationBase   = AppDomain.CurrentDomain.BaseDirectory;
            var appDomain = AppDomain.CreateDomain(domainSetup.ApplicationName, AppDomain.CurrentDomain.Evidence, domainSetup);

            _appDomains.Add(plugInInfo, appDomain);
        }
示例#4
0
 private void InstantiatePlugIn(PlugInAttribute plugInInfo)
 {
     var appDomain = _appDomains[plugInInfo];
     IPlugIn plugIn = appDomain.CreateInstanceAndUnwrap(plugInInfo.PlugInName, plugInInfo.EntryType) as IPlugIn;
     _plugIns.Add(plugInInfo, plugIn);
 }
示例#5
0
 private void UnLoadAppDomain(PlugInAttribute plugInInfo)
 {
     AppDomain.Unload(_appDomains[plugInInfo]);
     _appDomains.Remove(plugInInfo);
 }
示例#6
0
 private void UnLoadAppDomain(PlugInAttribute plugInInfo)
 {
     AppDomain.Unload(_appDomains[plugInInfo]);
     _appDomains.Remove(plugInInfo);
 }