//高级选项
        void LoadAdvanceOptions()
        {
            ServiceInfo iflp = Env.IPMClient.Config.Services.Find(s => s.TypeName == ServiceManager.InnerServiceTypeList[InnerService.RemoveLoopBackMessage]);

            if (iflp == null)
            {
                chkFilterLocalMsg.Enabled = false;
            }
            else
            {
                chkFilterLocalMsg.Checked = iflp.Enabled;
            }
            chkFilterLocalMsg.CheckedChanged += (s, e) =>
            {
                iflp.Enabled = chkFilterLocalMsg.Checked;
                if (chkFilterLocalMsg.Checked)
                {
                    if (iflp.EnsureLoadAssembly() && iflp.CreateProviderInstance() && iflp.InitialzingServiceProvider(Env.IPMClient))
                    {
                        iflp.LoadService();
                    }
                }
                else
                {
                    iflp.ShutDown();
                }
            };
        }
Beispiel #2
0
 /// <summary>
 /// 尝试启动指定插件
 /// </summary>
 /// <param name="si"></param>
 /// <returns></returns>
 public static bool StartupServiceProvider(ServiceInfo si)
 {
     if (si.EnsureLoadAssembly() && si.CreateProviderInstance() && si.InitialzingServiceProvider(Env.IPMClient))
     {
         if (!si.LoadService())
         {
             return(false);
         }
         else
         {
             Env.HandleServiceConfigLoad(si.ServiceProvider); return(true);
         }
     }
     return(si.State != ServiceState.Running);
 }