Вот фон: я хочу самостоятельно разместить службу WCF, реализующую netTcpBinding, и она должна быть совместима с Windows Server 2003 / IIS6.
Я пытаюсь выяснить, возможно ли самостоятельное размещение во время события Application_Start в global.asax:
protected void Application_Start(object sender, EventArgs e)
{
NetTcpBinding binding = new NetTcpBinding();
binding.PortSharingEnabled = true;
ServiceHost host = new ServiceHost(typeof(Svc), new Uri("net.tcp://xxx.x.xxx.xx:1100"));
string address = "Tcp";
host.AddServiceEndpoint(typeof(IService), binding, address);
host.Open();
}
Но я получаю это на клиенте при попытке вызвать службу:
Could not connect to net.tcp://xxx.x.xxx.xx:1100/Tcp. The connection attempt lasted for a time span of 00:00:01.0630608. TCP error code 10061: No connection could be made because the target machine actively refused it xxx.x.xxx.xx:1100.
Моим первым инстинктом было посмотреть, была ли это проблема с портом, поэтому я открыл соответствующий порт на клиенте, но это не помогло, может ли порт сервера иметь значение?Я могу получить доступ к порту в противном случае.
Или, если это происходит из-за того, что я использую IIS6, какой способ обхода с помощью самостоятельного размещения я могу использовать для этой работы с IIS6?Должен ли он самостоятельно размещаться через консольное приложение / службу Windows или я могу самостоятельно размещаться в global.asax, как показано выше?
Спасибо.