Esempio n. 1
0
        public WcfClientSetting GetClientSetting(string serviceContractType, string machineIP)
        {
            var setting = new WcfClientSetting
            {
                WcfLogSetting = new WcfLogSetting
                {
                    Enabled = true,
                    ExceptionInfoSetting = new ExceptionInfoSetting
                    {
                        Enabled = false,
                    },
                    InvokeInfoSetting = new InvokeInfoSetting
                    {
                        Enabled = false,
                    },
                    StartInfoSetting = new StartInfoSetting
                    {
                        Enabled = true,
                    },
                    MessageInfoSetting = new MessageInfoSetting
                    {
                        Enabled = false,
                    }
                },
                WcfSecuritySetting = new WcfSecuritySetting
                {
                    PasswordCheck = new PasswordCheck
                    {
                        Enable = false,
                    }
                }
            };

            try
            {
                using (WcfConfigDataContext data = new WcfConfigDataContext())
                {
                    var endpoints = data.ClientEndpoints.Where(ep => ep.ServiceContractType == serviceContractType).ToList();
                    var e         = endpoints.Where(endpoint => machineIP.Contains(endpoint.ClientMachineIP)).FirstOrDefault();
                    if (e == null)
                    {
                        e = endpoints.Where(endpoint => endpoint.ClientMachineIP == "*").FirstOrDefault();
                    }
                    var clientConfig = e.ServiceConfig;
                    if (clientConfig != null)
                    {
                        if (clientConfig.Element("WcfLogSetting") != null)
                        {
                            ParseLogSettingXml(clientConfig.Element("WcfLogSetting"), setting.WcfLogSetting);
                        }
                    }
                    var serviceEndpoint = data.ServiceEndpoints.Where(se => se.ServiceContractType == serviceContractType).FirstOrDefault();
                    if (serviceEndpoint != null)
                    {
                        var service = data.Services.Where(s => s.ServiceType == serviceEndpoint.ServiceType).FirstOrDefault();
                        if (service != null)
                        {
                            var serviceConfig = service.ServiceConfig;
                            if (serviceConfig != null)
                            {
                                if (serviceConfig.Element("WcfSecuritySetting") != null)
                                {
                                    ParseSecuritySettingXml(serviceConfig.Element("WcfSecuritySetting"), setting.WcfSecuritySetting);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LocalLogService.Log(ex.ToString());
            }

            return(setting);
        }
Esempio n. 2
0
        public WcfClientSetting GetClientSetting(string serviceContractType, string machineIP)
        {
            var setting = new WcfClientSetting
            {
                WcfCoreSetting = new WcfClientCoreSetting
                {
                },
                WcfPerformanceServiceSetting = new WcfPerformanceServiceSetting
                {
                    Enabled = true,
                    ReportStateIntervalMilliSeconds = 10000,
                    AllowMethods = new List <string> {
                        "*"
                    },
                    DenyMethods = new List <string>(),
                },
                WcfLogSetting = new WcfLogSetting
                {
                    Enabled = true,
                    ExceptionInfoSetting = new ExceptionInfoSetting
                    {
                        Enabled = true,
                    },
                    InvokeInfoSetting = new InvokeInfoSetting
                    {
                        Enabled = false,
                    },
                    StartInfoSetting = new StartInfoSetting
                    {
                        Enabled = true,
                    },
                    MessageInfoSetting = new MessageInfoSetting
                    {
                        Enabled = false,
                    }
                },
                WcfSecuritySetting = new WcfSecuritySetting
                {
                    PasswordCheck = new PasswordCheck
                    {
                        Enable = false,
                    }
                }
            };

            try
            {
                var endpoints = WcfConfig.GetClientEndpoints().Where(ep => ep.ContractTypeName == serviceContractType).ToList();
                var e         = endpoints.Where(endpoint => machineIP.Contains(endpoint.ClientMachineIP) || endpoint.ClientMachineIP == "*").FirstOrDefault();
                if (e == null)
                {
                    Warning("Adhesive.DistributedService.Config", "WcfConfigService.GetClientSetting", string.Format("没有获取到ClientEndpoint,参数为{0},{1}", serviceContractType, machineIP));
                }
                else
                {
                    var clientConfig = e.ClientSetting;
                    if (clientConfig != null)
                    {
                        setting.WcfCoreSetting = clientConfig.WcfCoreSetting;
                        setting.WcfLogSetting  = clientConfig.WcfLogSetting;
                    }
                    else
                    {
                        Warning("Adhesive.DistributedService.Config", "WcfConfigService.GetClientSetting", string.Format("没有获取到ClientSetting,参数为{0},{1}", serviceContractType, machineIP));
                    }
                    var serviceEndpoint = WcfConfig.GetServiceEndpoints().Where(se => se.ContractTypeName == serviceContractType).FirstOrDefault();
                    if (serviceEndpoint != null)
                    {
                        var service = WcfConfig.GetServices().Where(s => s.ServiceTypeName == serviceEndpoint.ServiceTypeName).FirstOrDefault();
                        if (service != null)
                        {
                            var serviceConfig = service.ServerSetting;
                            if (serviceConfig != null)
                            {
                                setting.WcfSecuritySetting = serviceConfig.WcfSecuritySetting;
                            }
                            else
                            {
                                Warning("Adhesive.DistributedService.Config", "WcfConfigService.GetClientSetting", string.Format("没有获取到ServerSetting,参数为{0},{1}", serviceContractType, machineIP));
                            }
                        }
                        else
                        {
                            Warning("Adhesive.DistributedService.Config", "WcfConfigService.GetClientSetting", string.Format("没有获取到Service,参数为{0},{1}", serviceContractType, machineIP));
                        }
                    }
                    else
                    {
                        Warning("Adhesive.DistributedService.Config", "WcfConfigService.GetClientSetting", string.Format("没有获取到ServiceEndpoint,参数为{0},{1}", serviceContractType, machineIP));
                    }
                }
            }
            catch (Exception ex)
            {
                Error("Adhesive.DistributedService.Config", "WcfConfigService.GetClientSetting", string.Format("GetClientSetting出错:{0},参数为{1},{2}", ex.ToString(), serviceContractType, machineIP));
            }

            return(setting);
        }
Esempio n. 3
0
        public WcfClientSetting GetClientSetting(string serviceContractType, string machineIP)
        {
            var setting = new WcfClientSetting
            {
                WcfLogSetting = new WcfLogSetting
                {
                    Enabled = true,
                    ExceptionInfoSetting = new ExceptionInfoSetting
                    {
                        Enabled = false,
                    },
                    InvokeInfoSetting = new InvokeInfoSetting
                    {
                        Enabled = false,
                    },
                    StartInfoSetting = new StartInfoSetting
                    {
                        Enabled = true,
                    },
                    MessageInfoSetting = new MessageInfoSetting
                    {
                        Enabled = false,
                    }
                },
                WcfSecuritySetting = new WcfSecuritySetting
                {
                    PasswordCheck = new PasswordCheck
                    {
                        Enable = false,
                    }
                }
            };

            try
            {
                using (WcfConfigDataContext data = new WcfConfigDataContext())
                {
                    var endpoints = data.ClientEndpoints.Where(ep => ep.ServiceContractType == serviceContractType).ToList();
                    var e = endpoints.Where(endpoint => machineIP.Contains(endpoint.ClientMachineIP)).FirstOrDefault();
                    if (e == null) e = endpoints.Where(endpoint => endpoint.ClientMachineIP == "*").FirstOrDefault();
                    var clientConfig = e.ServiceConfig;
                    if (clientConfig != null)
                    {
                        if (clientConfig.Element("WcfLogSetting") != null)
                            ParseLogSettingXml(clientConfig.Element("WcfLogSetting"), setting.WcfLogSetting);
                    }
                    var serviceEndpoint = data.ServiceEndpoints.Where(se => se.ServiceContractType == serviceContractType).FirstOrDefault();
                    if (serviceEndpoint != null)
                    {
                        var service = data.Services.Where(s => s.ServiceType == serviceEndpoint.ServiceType).FirstOrDefault();
                        if (service != null)
                        {
                            var serviceConfig = service.ServiceConfig;
                            if (serviceConfig != null)
                            {
                                if (serviceConfig.Element("WcfSecuritySetting") != null)
                                    ParseSecuritySettingXml(serviceConfig.Element("WcfSecuritySetting"), setting.WcfSecuritySetting);
                            }
                        }
                    }

                }
            }
            catch (Exception ex)
            {
                LocalLogService.Log(ex.ToString());
            }

            return setting;
        }