我在专用的Windows服务器上运行了一年多的服务。 在我的客户端计算机上,我有一个winforms客户端,使用WCF与此服务进行通信
现在一年多没有问题 但是现在公司政策已经改变,我不得不使用另一个帐户而不是域\管理员帐户启动服务 使用的帐户也是域帐户,并且具有管理员权限。
但由于我的winforms客户端无法再连接到它,我总是会收到此错误:
---------------------------
Could not connect to net.tcp://localhost:8001/CommunicationService.
The connection attempt lasted for a time span of 00:00:02.0176000.
TCP error code 10061: No connection could be made because the target machine actively refused it 127.0.0.1:8001.
---------------------------
所以我想我需要做一些事情的权利,但我不知道这里 有人可以解释一下我需要做些什么才能让它再次起作用吗?
请记住,服务和客户端都不会以任何方式更改,并且在我必须使用其他用户帐户启动服务之前,它才能完美运行。
所以它不应该是我认为的防火墙问题,也不应该是我的代码中的任何错误。
编辑:
这是服务的配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.serviceModel>
<services>
<service name="CommunicationService" behaviorConfiguration="debug">
<endpoint address="net.tcp://localhost:8001/CommunicationService" binding="netTcpBinding" contract="ICommunication"/>
</service>
</services>
<bindings>
<netTcpBinding>
<binding>
<security mode="None"></security>
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="debug">
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
这是我客户的配置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.serviceModel>
<client>
<endpoint address="net.tcp://192.0.137.198:8001/CommunicationService" binding="netTcpBinding" contract="ICommunication"/>
</client>
<bindings>
<netTcpBinding>
<binding sendTimeout="00:00:05">
<security mode="None"></security>
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>
</configuration>
编辑:
如果我在与服务相同的计算机上运行客户端而不是它的工作。 我试过这个
netsh http add urlacl url=http://127.0.0.1:8001/MyUri user=domain\user
但这里没有帮助。我在这里找到了这个命令HTTP could not register URL http://+:8000/HelloWCF/. Your process does not have access rights to this namespace,但我不知道我需要使用哪些参数
答案 0 :(得分:0)
让它运转起来。 似乎我的客户端配置文件错误,其端点设置为127.0.0.1而不是指向正确的服务。