2011-12-17 11 views
15

最終的にWindowsサービスの内部でホストされるナンシーモジュールを作成しています。私は現在、WPFテストアプリケーションの中でそれを実行しています。ナンシーがホスティングを開始するには、私はNancy.Hosting.Selfを使用していますが、呼び出し:私のローカルマシン上ナンシーセルフホストへのリモートアクセス

nancyHost = new Nancy.Hosting.Self.NancyHost(new Uri("http://localhost:8080")); 
nancyHost.Start(); 

を、私は、ウェブブラウザに移動し、アドレスバーにhttp://localhost:8080を入力することによって、私のモジュールにアクセスすることができています。

私が別のマシンに行くと、サービスにアクセスすることができません。私のWindowsファイアウォールはオフになっています。

baseUriでlocalhost以外のものを使用してホスティングを開始した場合、nancyHost.Start()を呼び出すと「アクセス拒否」例外が発生します。

紛失しているものがありますか?ホスティングを行っているマシンへのIP:ポートを知っている限り、どのマシンからでもNancyモジュールにアクセスできるはずですか?私が知っておく必要のある「ホストヘッダー」のタイプはありますか?

ありがとうございます。

答えて

24

Windowsでは、許可なくポートをリッスンできません。 8080 /アプリのユーザー=ドメイン\ユーザー

のnetshのhttp urlacl URLを追加=のhttp:// +あなたはどちらか、管理者として、あなたのプロセスを実行するか、 "netshを" 使用許可を追加することができます"+"はワイルドカードなので、どのIPでも聞くことができます。

通常、インストール中に後者を処理するので、管理者として実行してデバッグし、インストーラが関連する権限を設定していることを確認してください。ローカルデバッグのための

+0

ちょうどアドバイスへのリンクが含まれてみたかったです!あなたはGoogleグループに投稿しました... https://groups.google.com/forum/#!topic/nancy-web-framework/UnvrNss9pyM ありがとう、 ブライアン –

0

、あなたはあなたのIDEを実行せずに例

http://localhost:8733/Design_Time_Addresses/myService 

http://+:8733/Design_Time_Addresses/myService 

とデバッグをするために、あなたが好きなサブディレクトリを追加することができます

http://+:8733/Design_Time_Addresses 

を使用します(ビジュアルStudio?)を管理者として使用します。

0

見て、この:Self-Hosting-Nancy

ホスト構成:UrlReservations、コードの下に追加します、あなたはあなたのホストを作成することができ

var configuration = new HostConfiguration 
     { 
      UrlReservations = new UrlReservations { CreateAutomatically = true } 
     }; 

OK〜

関連する問題