私はWSDLから非常に基本的なサービスを実装しましたが、ServiceHost
オブジェクトを使ってサービスしています。C#ServiceHostはVM内のホストからの接続を一見無視します
static void Main(string[] args)
{
Uri httpUri = new Uri("http://192.168.18.1:8080/");
using (ServiceHost hService = new ServiceHost(typeof(TritonClientClient), httpUri))
{
// hService.AddServiceEndpoint(typeof(ITritonClient), new BasicHttpBinding(), "http://localhost:8000/BasicService");
hService.Open();
Console.WriteLine("Listening. Press any key to close...");
Console.ReadLine();
Console.WriteLine("Closing...");
hService.Close();
}
}
私はhttp://192.168.18.1:8080/?wsdl
に閲覧することができ、私はサービス記述ファイルを取得するので、ローカルで動作しているようです:私はに使用しているコードは、サービスがこれです果たします。
という問題は、(VMwareを使用して)仮想マシンからこのサービスにアクセスする必要があることです。このマシンは「ホストオンリー」のネットワークアダプタを持つように設定されており、ゲストとその逆のホストからpingを実行できます。しかし、私はホストから直接行うことができるので、ブラウザからサービスにアクセスすることはできません。私はTCPハンドシェイクを開始しようとしているゲストが、誰も留守番見ることができますホストでのWiresharkを使用して
:レコードの
は、ホストのIPは192.168.18.1で、ゲストのIPです192.168.18.128。私はServiceHost
で何をしなければならないので、VMからの要求に答えますか?
Windowsファイアウォールでこのポートを開きましたか?ローカルでのテストは、トラフィックが信頼できるソースから取得されたことを意味しますVMからのテストは、VMからのテストではありません。したがって違い。 –