这是我的代码:
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行错误:404
但是当我使用Visual Studio 2010开发服务器时,不会发生错误。
答案 0 :(得分:1)
基本上你必须自己照顾这些案件。
对于开发,API的路径是:
http://localhost/api/MyAPI
对于IIS上的制作,它是:
http://localhost/WebAPITest/api/MyAPI
最简单的方法,就是我们在公司实际做的事情,是将基本路径放入配置(可能是应用程序设置),然后执行此操作:
Settings.BaseUrl = "http://localhost/";
client.BaseAddress = new Uri(Settings.BaseUrl);
部署到IIS时,将Settings.BaseUrl
更改为http://localhost/WebAPITest/
。
理想情况下,您也可以删除VS开发服务器并在IIS上进行调试。 (这需要VS以管理员权限运行)