0

私は、いくつかの REST サービスを公開する Web サーバーと、それらのサービスを利用するモバイル クライアントの 2 つの要素で構成されるソリューションを開発しています。REST サービスを実装するために、私は Web API テクノロジを使用しました。

デバッグで Web プロジェクトを開始すると、すべて正常に動作します。localhost:63954/api を指すことでサービスを使用できます。奇妙な事実: 「localhost」を「127.0.0.1」またはマシンの LAN アドレス 192.168.xxx.xxx に変更すると、サーバーは応答しなくなります。

次に、仮想化されたエミュレーターで実行される Windows Phone クライアントを起動すると、Web サーバーへの接続に失敗します。2 つのコンポーネントが同じマシンで実行されている場合でも。明らかに、Windows Phone では "localhost" を使用できません。これは、電話の localhost が電話自体であるためです。そのため、Web サービスを実行しているマシンのアドレスである 192.168.xxx.xxx アドレスを使用しようとしています。しかし、携帯電話エミュレーターは Web サービスに到達できません。

Web サーバーをデバッグし、Windows Phone エミュレーターからアクセスできるようにする必要があるため、Visual Studio 2012 で Web サーバーを実行する必要がありますが、その方法がわかりません。手伝って頂けますか?何か案が?

どうもありがとう、リカルド。

編集: ここにあるリンク ( Binding IIS Express to an IP Address ) をたどり、ファイアウォールをオフにすることで、VS12 の外部で Web アプリケーションを実行でき、ネットワーク内の他の PC からアクセスできるようになり、WP からもアクセスできるようになります。エミュレータ。これは回避策になる可能性がありますが、VS でこの方法で REST サービスをデバッグすることはできず、これは良くありません...

4

2 に答える 2

0

あなたが言ったように、Windows Phone はクライアント マシンで別々に実行されています。この問題を解決する 1 つの方法は、マシンの IP アドレスを Web API にバインドすることです。そのため、マシンの IP アドレスを使用して Web API にアクセスできます。IP をバインドできます。 Microsoft Webmatrix を使用してプロジェクトにアドレスを指定します。そのため、IP アドレスを使用して Web Api にアクセスできます。これが役立つことを願っています。

于 2013-04-22T21:29:32.187 に答える