Я следил за Miguel Castro за отличную статью о WCF здесь, и все это прекрасно работает, за исключением того, что у меня есть следующий код
public AdminClient()
{
ChannelFactory<IProductAdmin> factory = new ChannelFactory<IProductAdmin>();
productAdminChannel = factory.CreateChannel();
}
В моем файле app.config у меня есть следующая конфигурация:
<system.serviceModel>
<client>
<endpoint address="net.tcp://localhost:8002/ProductBrowser"
binding="netTcpBinding"
contract="Contracts.IProductAdmin" />
</client>
</system.serviceModel>
Но когда я запускаю конструктор для AdminClient, я получаю исключение, говорящее, что конечная точка не определена. Однако, если я изменю свою конфигурацию, чтобы дать конечной точке имя, а затем создать factory следующим образом, он будет работать.
public AdminClient()
{
var fac = new ChannelFactory<IProductAdmin>("admin");
productAdminChannel = fac.CreateChannel();
}
<system.serviceModel>
<client>
<endpoint name="admin"
address="net.tcp://localhost:8002/ProductBrowser"
binding="netTcpBinding"
contract="Contracts.IProductAdmin" />
</client>
</system.serviceModel>
Мне хотелось бы объяснить это. Документация в MSDN не очень помогает...