我對here中的文章有疑問。相關的代碼如下。從DuplexChannelFactory類型中未調用構造函數<T>
public CustomClientChannel(string configurationPath) : base(typeof(T))
{
this.configurationPath = configurationPath;
base.InitializeEndpoint((string)null, null);
}
protected override ServiceEndpoint CreateDescription()
{
ServiceEndpoint serviceEndpoint = base.CreateDescription();
ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename = this.configurationPath;
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
ServiceModelSectionGroup group = ServiceModelSectionGroup.GetSectionGroup(config);
ChannelEndpointElement selectedEndpoint = null;
......
}
第一功能是在類的構造函數,第二個在過載的DuplexChannelFactory功能CreateDescription由於從DuplexChannelFactory類inherents。
但是,當我使用這個類來創建一個對象時,代碼直接運行到CreateDescription()中。
因此,即使我將一個configurationPath傳遞給構造函數,this.configurationPath仍爲null。
如果我固有的ChannelFactory CustomClientChannel類,那麼它工作正常。
請幫忙看看有什麼不對,以及ChannelFactory和DuplexChannelFactory有什麼區別?我正在使用netTcpBinding。謝謝。
你如何實例化CustomClientChannel? – GazTheDestroyer