Проблема, с которой я сталкиваюсь при подключении клиентского приложения wcf к хосту, работающему на отдельном компьютере, задокументирована в ранее заданном вопросе:
WCF: почему не удается передать удаленную конечную точку?
Однако в предложенном здесь решении говорится, что вам нужно использовать SpnEndpointIdentity с пустой строкой. Поскольку мой код не похож на тот, на который я ссылался, мне нужно знать, что делать с созданным мной объектом SpnEndpointIdentity.
У меня есть ChannelFactory, на котором я вызываю Create channel, передавая EndpointAddress:
public override void InitialiseChannel()
{
SpnEndpointIdentity spnEndpointIdentity = new SpnEndpointIdentity("");
var address = new EndpointAddress(EndpointName);
Proxy = ChannelFactory.CreateChannel(address);
}
(NB: ChannelFactory имеет тип IChannelFactory, где T - интерфейс контракта на обслуживание) Итак, что мне делать с spnEndpointIdentity? Я не могу передать его CreateChannel.
Или, возможно, я смогу использовать его как-нибудь при создании фабрики каналов:
private ChannelFactory<T> CreateChannelFactory()
{
var binding = new NetTcpBinding
{
ReaderQuotas = { MaxArrayLength = 2147483647 },
MaxReceivedMessageSize = 2147483647
};
SpnEndpointIdentity spnEndpointIdentity = new SpnEndpointIdentity("");
var channelFactory = new ChannelFactory<T>(binding);
return channelFactory;
}
Опять же, я не могу передать его в конструктор, что мне с ним делать?
Спасибо.