运行WCF服务以在本地计算机上进行测试。在App.config中我有:
<system.serviceModel>
<services>
<service name="Pizza.Services.PizzaService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8733"/>
</baseAddresses>
</host>
<endpoint address="pizza"
binding="basicHttpBinding"
contract="Pizza.Services.IPizzaService">
</endpoint>
<endpoint address="net.tcp://localhost:8733/pizza"
binding="netTcpBinding"
contract="Pizza.Services.IPizzaService">
</endpoint>
</service>
</services>
如果我从VS2015运行应用程序(作为普通用户或管理员),我会得到:
TCP错误(10013:尝试以某种方式访问套接字 在侦听IP时发生了禁止访问权限 终点= 0.0.0.0:8733。 ---&GT; System.Net.Sockets.SocketException:An 尝试以访问禁止的方式访问套接字 权限
现在,我的同事已经模糊地解释了Windows 10安全功能,该功能将阻止用户抓取随机端口并将其提供给某些服务。所以我以管理员的身份打开了命令提示符并执行了:
netsh http add urlacl url=http://+:8733/ user=Everyone
仍然是同样的错误。
我注意到了类似的问题,但我觉得这些问题都没有解决我的问题。
编辑:我忘了提到的另一件事是,我试图关闭防火墙和反病毒而没有成功。答案 0 :(得分:3)
端点绑定搞砸了。我改变了端口:
<endpoint address="net.tcp://localhost:8733/pizza"
binding="netTcpBinding"
contract="Pizza.Services.IPizzaService">
</endpoint>
从8733到8732,它的工作原理。基本上,两个端点试图使用相同的端口。
答案 1 :(得分:0)
重新启动 Visual Studio 通常可以解决此问题。