我使用ChannelFactory方式与我的其他业务层进行通信。
ChannelFactory(" *")是什么意思,我无法在MSDN上获得有关此内容的任何信息?
答案 0 :(得分:1)
*
通配符表示使用第一个合格端点,因为您可以为同一个合同设置多个端点。我在MSDN上找不到对此的任何引用,但可以看到它在ChannelFactory<T>.InitializeEndpoint(string configurationName, EndpointAddress address)
内部使用。使用Dotpeek进行反编译,评论我的
protected void InitializeEndpoint(string configurationName, EndpointAddress address)
{
this.serviceEndpoint = this.CreateDescription();
ServiceEndpoint serviceEndpoint = (ServiceEndpoint) null;
if (configurationName != null)
// ConfigLoader checks whether the passed configurationName is a wildcard match
// and uses it when looking up channels from configuration to determine
// which channel to use
serviceEndpoint = ConfigLoader.LookupEndpoint(configurationName, address, this.serviceEndpoint.Contract);
if (serviceEndpoint != null)
{
this.serviceEndpoint = serviceEndpoint;
}
else
{
if (address != (EndpointAddress) null)
this.Endpoint.Address = address;
this.ApplyConfiguration(configurationName);
}
this.configurationName = configurationName;
this.EnsureSecurityCredentialsManager(this.serviceEndpoint);
}