2017-07-10 17 views
0

私は、専用のWindowsサーバー上で1年以上サービスを実行しています。 私のクライアントコンピュータには、WCFを使用してこのサービスと通信するwinformsクライアントがあります。WCFは、別のユーザー名でサービスを開始した後にエラー10061を返します。

これは1年以上問題なく動作しています。
しかし、現在は企業ポリシーが変更されており、ドメイン\管理者アカウント以外のアカウントでサービスを開始する必要がありました。
使用されているアカウントもドメインアカウントであり、管理者権限を持っています。

しかし、これ以来、私の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. 
--------------------------- 

だから私は、私が何かにいくつかの権利を与える行う必要があるが、私はここに見当もつかないと思います。
誰かがこの作業をやり直すには何が必要か説明できますか?

サービスとクライアントの両方が変更されていないことを覚えておいてください。別のユーザーアカウントでサービスを開始するまでは完璧に機能しました。
ファイアウォールの問題ではないはずです。

EDIT:
これはサービスの設定ファイルである:

<?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> 

EDIT:場合

I動作するサービスと同じコンピュータ上でクライアントを実行します。 私はこの

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

それを働かせた。 クライアントの設定ファイルが間違っているようですが、正しいサービスを指す代わりにエンドポイントが127.0.0.1に設定されています。

関連する問題