2012-12-16 2 views
12

ウィンドウサービスでwcfをホストしたいと思います。私は以前何度も問題なく何度もやりました。今回はサービスをインストールして開始ボタンをクリックした後、EventViewerで次のエラーが発生しました。すべての権利 - 私は同じサービス、ConsoleApplicationに同じアドレスをホストサービスを開始できません。 URLを登録できませんでした

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).

私は質問herehereを見ましたが、解決策のどれも私を助けませんでした。

アイデアはありますか?

答えて

7

私は、ローカルシステムにインストールアカウントを変更すると、あなたの答えについては

+3

それは見つけるためにしばらくかかりました方法は次のとおりです:サービスプログラムを開きます(スタート - >ローカルサービスをWin 7で表示)。リスト内のサービスを見つけて、右クリックし、プロパティをクリックし、ログオンタブに移動します。私は自分のActive Directoryアカウントとパスワードに変更しました。 – Aligned

+0

サービスインスタンスを手動で変更することなく、サービス自体を変更したい場合。 ServiceProcessInstallerの "Account"プロパティを変更します。 – Harry

17

:-)仕事をしてくれた、それは散弾銃のデバッグのビットだことがわかりました。これで、管理者権限でネットワークサービスを持っている:

LocalSystem Account (Windows)

LocalSystemアカウントを[...]ローカルコンピュータ上で広範な権限を持っており、ネットワーク上のコンピュータとして動作します。そのトークンにはNT AUTHORITY \ SYSTEMとBUILTIN \ Administrators SIDが含まれています。これらのアカウントはほとんどのシステムオブジェクトにアクセスできます。

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

だから、より良いのNetworkServiceとしてこのサービスを実行し、Configuring HTTP and HTTPSで説明したように、使用しようとしているポートを使用するように適切な権限を与えるだろう:

netsh http add urlacl url=http://+:80/MyUri user="NT AUTHORITY\NETWORK SERVICE" 
関連する問題