.netからWEB APIを記述しようとしており、AndroidアプリケーションがSQLサーバーデータベースからデータを照会しようとしています。
Web APIを作成しましたが、デバッグモードで正常に動作します。
私の質問は、そのアプリケーションのURLが_localhost:port
_であり、正常に実行されることに気づいたことです。ただし、MYIP:port (eg. http:192.168.X.1234)
またはMYHOSTNAME:port (eg win7home:1234)
に変更しようとすると、_Bad Request - Invalid Hostname
_になります。
これをIISにデプロイでき、IISがセットアップされていることは知っていますが、デバッグモードで機能しないのはなぜだろうと思っていました。
変更するたびにデプロイする代わりに、デバッグモードで実行し、Androidで同時にテストする方法はありますか?
アントンとマシューの答えの両方が正しい方向を示してくれました
だからこれは私がやったこと
管理者モードでVisual Studioを実行する
バインディングプロトコルを変更し、推奨される着信方向を許可 http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer
しかし、その後、サービスを利用できません(503)エラーがあります
だから私はこれに従った: IIS Express Enable External Request-5 ポートプロトコルとport:ipプロトコルだけを追加し、
それは私のマシンのブラウザと私の携帯電話の両方で動作します。
3番目のステップが必要な理由があまりよくわからない
デバッグモードで実行している場合、IIS-Expressを使用していると思います。
デフォルトでは、IIS-Expressはlocalhost
にのみバインドします。
これを回避するには、次の場所にあるIIS-Expressアプリケーション構成ファイルを開きます:C:\Users\<username>\My Documents\IISExpress\config\applicationhost.config
およびサイトのバインディング情報を変更します。
変化する
<binding protocol="http" bindingInformation="*:55284:localhost" />
に
<binding protocol="http" bindingInformation="*:55284:*" />
また、変更後にIIS-Expressを再起動する必要があります。
Localhost IISを共有したいときに同じ問題が発生したため、一部の人はマシン名またはIPを入力してWebアプリインスタンスに接続できました。 http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer 。SilverlightアプリとMVCアプリの両方で機能します。ブレークポイントとリモートマシンからヒットします。
ソリューションディレクトリで、ファイル.vs\config\applicationHost.configの行を変更します
<binding protocol="http" bindingInformation="*:1234:localhost" />
に
<binding protocol="http" bindingInformation=":1234:192.168.1.35" />
visual Studioを管理者として実行します。再起動IIS Express。このソリューションは私のために働きます。
Visual Studio Codeでのデバッグと同じ問題があった場合、以下を追加して解決しました:
"env": {
// ...
"ASPNETCORE_URLS": "http://*:5000" // change to the port you are using
// ...
},
.. tolaunch.json
どうやら、デフォルトではhttpプロトコルを「localhost:5000」にバインドするため、localhostで動作しますがでは動作しませんIPアドレス。
別のコンピューターからの要求によってブレークポイントに到達しようとしている場合、ファイアウォール設定(および/またはウイルス対策)を確認することを忘れないでください
お役に立てれば