5

ビジュアルWeb開発者2010で開発された.netc#mvc3Webサービスアプリケーションがあります。AndroidモバイルアプリケーションからWebサービスを呼び出しています。eclipseエミュレーターからWebサービスをテストしたいと思います。Webサービスアプリケーションをデバッグするときは、Webブラウザーからサービスを呼び出すことですべてが正常に機能しますが、エミュレーターを使用してAndroidアプリケーションから呼び出すと、「HTTP / 1.1400BadRequest」が表示されます。

不思議なことに、ローカルIIS 7でWebサービスアプリケーションを公開すると、サービスをデバッグできなくても、すべてが正常に機能します。

ビジュアルWeb開発者を使用してサービスをデビッグすると、次のようなアドレスでWebページが表示されます。

"http:// localhost:1627 / myservice.asmx / myMethod"

私のAndroidアプリケーションでは、次のようなURLでサービスを呼び出します。

「http://10.0.2.2:1627/myservice.asmx/myMethod」

しかし、「HTTP / 1.1 400BadRequest」が表示されます

助けていただければ幸いです。

ありがとう。

4

2 に答える 2

3

によると、IPアドレス経由でASP.NET開発サーバー(VS2010)に接続できません

ASP.NET開発サーバーは、ローカルコンピューター上のブラウザー要求にページを提供します。別のコンピューターにページを提供することはありません。さらに、アプリケーションの範囲外のファイルは提供されません。ASP.NET開発サーバーは、IISを実行している運用サーバーにページを公開する前に、ページをローカルでテストする効率的な方法を提供します。

于 2012-12-03T08:09:13.413 に答える
3

Visual Studio 2010 では、ポート転送ツールである inetd を常に使用していました。Visual Studio 2012 以降、私もこの問題を抱えています。問題は、開発サーバーで localhost 呼び出しのみが許可され、要求ヘッダーを変更しない限りプロキシ呼び出しでさえ機能しないことです。GitHub で見つけた既存の単純なプロキシ サーバーにいくつかの変更を加えました。リクエスト URL の IP アドレスを `localhost に変更します。コードはこちらからダウンロードしてください。


より良い解決策を見つけました。コンピュータに IIS Express をインストールしたら、プロジェクト ディレクトリの IIS に新しいアプリケーションを作成し、エイリアスを付けます。適切なアプリケーション プールが設定されていることに注意してくださいhttp://localhost/YourProject/。他のコンピューターから接続できない場合は、ファイアウォールの問題である可能性があります。

于 2012-12-03T10:52:48.037 に答える