C# IIS8在net.tcp上没有端点侦听:
我在IIS8中有一个WCF服务主机,我想使用net.tcp绑定 我有以下配置: Web.config:C# IIS8在net.tcp上没有端点侦听:,c#,wcf,net.tcp,iis-8,C#,Wcf,Net.tcp,Iis 8,我在IIS8中有一个WCF服务主机,我想使用net.tcp绑定 我有以下配置: Web.config: <service behaviorConfiguration="MyBehavior" name="DecryptService.EmailCenterDecryptTCP"> <host> <baseAddresses> <add baseAddress="net.tcp://XX.XX.XX.XX:808/V
<service behaviorConfiguration="MyBehavior"
name="DecryptService.EmailCenterDecryptTCP">
<host>
<baseAddresses>
<add baseAddress="net.tcp://XX.XX.XX.XX:808/VirtualFolder/Service.svc" />
</baseAddresses>
</host>
<endpoint address=""
binding="netTcpBinding"
bindingConfiguration="portSharingBinding"
name="MyServiceEndpoint"
contract="ServiceNamespace.IService">
</endpoint>
<endpoint address="mextcp"
binding="mexHttpBinding"
bindingConfiguration=""
name="MyServiceMexTcpBidingEndpoint"
contract="IMetadataExchange" />
</service>
有什么想法吗?
谢谢,很抱歉我的英语不好
编辑:
我制作了一个运行ServiceHost的控制台应用程序来替换IIS,并使用此配置在internet上运行
var svh = new ServiceHost(typeof (Service));
svh.AddServiceEndpoint(typeof (ServiceNamespace.IService), new NetTcpBinding(SecurityMode.None), "net.tcp://serverLocalIp:808");
svh.Open();
Console.WriteLine("SERVER - Running...");
stopFlag.WaitOne();
Console.WriteLine("SERVER - Shutting down...");
svh.Close();
Console.WriteLine("SERVER - Shut down!");
你知道IIS在互联网上运行相同的服务有什么问题吗?在当地工作。
谢谢您还需要设置IIS以接收Net.TCP连接 在IIS应用程序的
Advanced Settings
下,然后在Enabled Protocols
下,确保您有http,net.tcp
请注意,没有空间,如果有空间,它将失败
如果有一天你突然收到这个错误,它与另一个进程劫持net.tcp端口有关。我的情况是808端口。这是我在大约3天之后发现的——是的,这就是我现在所做的,用谷歌搜索并试图找出其他人的FUP,而不是我自己的工作 无论如何:
- 运行netstat-ano | findstr“808”,并记下列中的数字。这些是使用端口的进程ID
- 运行tasklist | 9,其中9将是上述步骤中的进程ID
在这一点上,我有两个选择:
重新启动,然后再次运行以下命令,以确保该端口可供net.tcp使用:
简单回答,将IIS->编辑绑定->net.tcp下的端口号更改为其他内容。我把它改成12345,这就解决了我的问题 这是一个与使用默认端口808的另一个进程相关的问题,如上面的文章所述。
如果这没有帮助,请检查上面的答案和休耕过程。但如果我在“http,net.tcp”中有一个空格,即使本地调用也不会失败?我检查了IIS,一切都正常。。问题是,如果我从运行IIS8的同一台机器(localhost)调用服务一切正常,但当我在运行IIS的机器外调用同一个服务时,我发现这个错误听起来像是防火墙在阻止你。我使用ServiceHost创建了一个控制台应用程序,并在与IIS8相同的机器上运行它,使用自托管服务它可以工作。。。也许是地址?谢谢Yoshi。我花了很多时间来解决这个问题,但运气不好,你的答案解决了我的问题。我会要求问题的作者将此标记为答案,以便对其他人有所帮助。
There was no endpoint listening at net.tcp://ZZ.ZZ.ZZ.ZZ/VirtualFolder/Service.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
var svh = new ServiceHost(typeof (Service));
svh.AddServiceEndpoint(typeof (ServiceNamespace.IService), new NetTcpBinding(SecurityMode.None), "net.tcp://serverLocalIp:808");
svh.Open();
Console.WriteLine("SERVER - Running...");
stopFlag.WaitOne();
Console.WriteLine("SERVER - Shutting down...");
svh.Close();
Console.WriteLine("SERVER - Shut down!");