2011-08-01 12 views
2

ソリューションを作成するWCFサービス、ライブラリを使用してVS2010 C#ソリューションを作成しました。ソリューションのコンソールアプリケーションでサービスが正常に動作しています。問題ない。Visual StudioでWCFサービスをホストするためのポートを開くことができません

古いプロジェクトでは、VS2008プロジェクト(そしておそらく後でVS2005)で使用する必要があります。その後、私はVS2010を開始します。私は "WCFテストクライアント"を取得します。 VS2008のこの時点で、私はローカルマシン上に "Web参照を追加"しようとしました...結果はありません。

は、その後、私はそれをホストするためにVS2010でコンソールアプリケーションを作成しようとしました、私はこれをしなかった:

Uri baseAddress = new Uri("http://localhost:8080/hello"); 
using (ServiceHost host = new ServiceHost(typeof(SecurityAccessWCF.WCFSecurityService), baseAddress)) 
{ 
    // Enable metadata publishing. 
    ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); 
    smb.HttpGetEnabled = true; 
    smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15; 
    host.Description.Behaviors.Add(smb); 

    host.Open(); 

    Console.WriteLine("The service is ready at {0}", baseAddress); 
    Console.WriteLine("Press <Enter> to stop the service."); 
    Console.ReadLine(); 

    // Close the ServiceHost. 
    host.Close(); 
} 

私はOpen()上のエラーを取得し、私はこのエラー「AddressAccessDeniedExceptionを取得する - HTTPは、URLを登録することができませんでした。 ..

enter image description here

答えて

5

Shiftキー + マウス右Visual Studioのショートカットををクリックして、管理者

として実行]を選択します。この方法であなたとMSDNの記事ですそれをホストできるはずです。

また、プロジェクトをビルドし、管理者アカウントと同じ方法でコンソールアプリケーションを実行することもできます。

+1

また、VisualStudioへのショートカットのプロパティに移動する場合、互換性の下で、管理者として常に実行するようにマークすることができます。 WCFで使用する可能性のあるすべてのURLを登録するよりもずっと簡単だったので、これをやり終えました。 – CodingWithSpike

4

は、アプリケーションカントレジを意味する標準エラー厥(提供リンクは明確ではないが、私はローカル管理者として、ドメイン内のWin7のx64の上だよ)「のアクセス権を持っていないあなたのプロセスドメイン。通常これはVista/Windows 7のセキュリティ上の問題です。管理者としてログインし、netsh http add urlacl url=http://+:80/Localhost user=DOMAIN\user

Hereを実行すると、より多くの情報

+0

私はそれを読んでいます。私は管理者だと言いましたが、ドメインではないのですが、ユーザー= DOMAIN \ USerについてはどうですか? –

+0

あなたはドメインになります。コンピュータに入ると、どちらが表示されますか?ユーザーは、ログインしたユーザー名になります。個人的には、PC管理者以外の人物として試してみませんが、任意の管理者として実行できるはずです –

関連する問題