internal static ClientStartInfo GetClientStartInfo( string contractName, string extraInfo, WcfClientEndpoint endpoint) { var log = GetStartInfo <ClientStartInfo>(extraInfo); log.ContractName = contractName; log.ClientTypeName = GetClientTypeName(); log.WcfEndpoint = endpoint; return(log); }
private static ChannelFactory <T> CreateChannelFactory <T>(WcfClientEndpoint endpoint) { if (endpoint == null) { throw new Exception("Can not locate any client endpoint, please check metadata config!"); } var binding = ConfigHelper.CreateBinding(endpoint.EndpointBindingType, endpoint.EndpointBindingXml); if (binding is NetNamedPipeBinding) { endpoint.EndpointAddress = "localhost"; } var address = ConfigHelper.CreateAddress(endpoint.EndpointProtocol, endpoint.EndpointAddress, endpoint.EndpointPort, endpoint.EndpointName); var factory = new ChannelFactory <T>(binding, address); factory.Endpoint.Behaviors.Add(new MessageInspectorEndpointBehavior()); if (!string.IsNullOrEmpty(endpoint.EndpointBehaviorXml)) { AddEndpointBehavior(factory, endpoint.EndpointBehaviorXml); } return(factory); }