2009-02-28 10 views
4

VS2008に小さなWCFサービスをまとめました.HTTPプロトコルを使用してホストを実行しようとすると、適切な権限がないために攻撃されます。私の "Host.Open()"行で私はこの例外を受け取ります: "HTTPはURL http://+:9001/を登録できませんでした。あなたのプロセスはこの名前空間へのアクセス権を持っていません。私はTCPを使ってこの問題を抱えていないようです。私のo/sはVista Home Premiumです。VistaでWCFサービスをホストする

これはVS2008の内部でデバッグしようとしていたときに起こっていました。多くの調査の後、ビルド、「bin」フォルダへの移動、実行ファイルの右クリック、「管理者として実行」を選択することで、ホストを稼働させることができると判断しました。 WcfSvcHost.exeを使用しようとしたときも同じことが起こりました。私は正常にWcfSvcHost私のサービスを実行することができた前に "管理者として実行"を使用して私のメニューからVS2008コマンドプロンプトウィンドウを開く必要がありました。

この回避策を使用する代わりに、これを行う方法はありますか?今週のWindows 2003 Serverでこれを展開しようとすると、私は同様の問題を抱えていますか?

答えて

7

を使用すると、管理者としてVSを起動していることを確認します:http://msdn.microsoft.com/en-us/library/ms733768.aspx

ショートバージョン:事前に登録したURL /名前空間を特権コンソールから

のnetshのhttp追加urlacl URL = http://+:9001/ユーザー= DOMAIN \ユーザー

+0

私はこれを昨日試して、それを働かせることができませんでした。あなたが "特権を持つコンソール"でなければならないというあなたの要点は、私がコマンドプロンプトを "管理者"として行うべきだということに私を結びつけました。今私はこれを試してみたところ、うまくいった。私は再起動するたびにこれをしなければならないと思いますか? –

+0

AFAIKこれは一度だけ行う必要があります(予約したい名前空間/ユーザーのペアごと) – mostlytech

+0

サービス管理者権限を実行しているアカウントに権限を与える必要があります。そうすれば、再起動するたびに再実行する必要はありません。 –

2

このリンクはあなたを助けるかもしれない...

+0

良い点。私のアカウントは管理者アカウントですが、明示的に要求しない限り、私は何も管理者に与えられないことをよく忘れることがあります。悔しい... –

0

私はここに同様の問題を抱えていた。

WCF ServiceHost basicHttpBinding 503 error

netshコマンドはVistaでは機能しますが、Windows 2003サーバーでは、アカウントのURL /名前空間を登録するためのHttpCfg.exeユーティリティがあります。 netshが2003年に公開されているかどうかは不明です。

Vistaで動作することはありませんでしたが、サービスにアクセスしようとすると503のエラーが発生します。あなたが同じ問題に遭遇した/それを把握すれば、あなたが再び投稿すればそれを感謝します!

<host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:8731/Design_Time_Addresses/MyService/" /> 
     </baseAddresses> 
    </host> 

主要部分は、「デザイン_時間_アドレス」を加えている:ありがとう

1

はローカルで、あなたはこのような何かにあなたのベースアドレスを変更することができます。 WCFサービスライブラリプロジェクトを作成すると、既定でこのようにプロジェクトのApp.configが設定されます。この方法ですべてうまく動作しますが、 "Design _ Time _ Addresses"を削除して "http://localhost:8731/MyService/"で実行しようとすると、実行中のエラーが発生します。

+0

これは、httpにバインドするユニットテストを設定しようとしているときや、httpチャンネルを使用してサービスを実行する場合に最適です。 – Kris

関連する問題