0

これは私のコードです:

1 HttpClient client = new HttpClient();
2 client.BaseAddress = new Uri("http://localhost/");
3 HttpResponseMessage message = client.GetAsync("api/MyAPI").Result;
4 IEnumerable<string> supplies = 
                 message.Content.ReadAsAsync<IEnumerable<string>>().Result;
5 return View(supplies);

そして、エラーは3行目で発生しますError:404

しかし、Visual Studio 2010開発サーバーを使用すると、エラーは発生しません。

4

1 に答える 1

1

基本的に、ここでのケースは自分で処理する必要があります。

開発用の API へのパスは次のとおりです。

http://localhost/api/MyAPI

また、IIS での運用の場合は次のようになります。

http://localhost/WebAPITest/api/MyAPI

私の会社で実際に行っている最も簡単な方法は、基本パスを構成 (おそらくアプリケーション設定) に入れ、次のようにすることです。

Settings.BaseUrl = "http://localhost/";
client.BaseAddress = new Uri(Settings.BaseUrl);

IIS に配置する場合はSettings.BaseUrlhttp://localhost/WebAPITest/.

理想的には、VS 開発サーバーをドロップして、IIS でデバッグすることもできます。(これには、管理者権限で実行されている VS が必要です)

于 2012-11-29T09:37:16.677 に答える