13

ウィンドウ サービスで wcf をホストしたい。私は問題なく以前に数回行いました。今回は、サービスをインストールして開始をクリックすると、EventViewer に次のエラーが表示されます。

Service cannot be started. System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http://+:.../.../. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details).

ConsoleApplication で同じサービス、同じアドレスをホストすると、問題ありません。

ここここで質問を見ましたが、解決策はどれも役に立ちませんでした。

誰にもアイデアはありますか?

4

2 に答える 2

17

あなたの答えとしては、それはショットガンのデバッグのビットです。これで、管理者権限を持つネットワークサービスができました。

LocalSystemアカウント(Windows)

LocalSystemアカウント[...]は、ローカルコンピューターに対する広範な特権を持ち、ネットワーク上のコンピューターとして機能します。そのトークンには、NT AUTHORITY\SYSTEMおよびBUILTIN\AdministratorsSIDが含まれます。これらのアカウントは、ほとんどのシステムオブジェクトにアクセスできます。

ほとんどのサービスは、そのような高い特権レベルを必要としません。サービスがこれらの特権を必要とせず、インタラクティブサービスではない場合は、LocalServiceアカウントまたはNetworkServiceアカウントの使用を検討してください。詳細については、「サービスのセキュリティとアクセス権」を参照してください。

したがって、このサービスをNetworkServiceとして実行し、 HTTPおよびHTTPSの構成で説明されているように、使用しようとしているポートを使用するための適切なアクセス許可を付与することをお勧めします。

netsh http add urlacl url=http://+:80/MyUri user="NT AUTHORITY\NETWORK SERVICE"
于 2012-12-16T14:17:03.730 に答える
7

インストーラー アカウントを LocalSystem に変更するとうまくいくことがわかりました :-)

于 2012-12-16T14:04:40.423 に答える