当我从Visual Studio运行或浏览它时,我已经构建了一个ASP.NET Web API,但是当我在IIS中托管它并尝试浏览它时,它却无法正常工作,并给我以下错误:
HTTP 400错误不是您,而是此链接(它似乎已损坏)
API方法是
[HttpGet]
[Route("findall")]
public HttpResponseMessage findAll()
{
try
{
var response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StringContent(JsonConvert.SerializeObject(mde.Products.ToList()));
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return response;
}
catch
{
return new HttpResponseMessage(HttpStatusCode.BadRequest);
}
}
我向它发送了以下请求:
http://localhost:9810/api/product/findall
我该如何解决此问题?
答案 0 :(得分:0)
基于屏幕截图,您已将应用程序部署为默认站点上的虚拟应用程序。并且 / myserver 被定义为虚拟路径。这意味着您的API根URL为:
http://localhost:{IIS_PORT}/myserver/{YOUR_APP_ROUTES}
默认网站端口为80;如果您的帖子(http://localhost:9810/api/product/findall)中的URL在IIS-express上正常运行,请尝试为您的IIS部署调用此URL:
http://localhost/myserver/api/product/findall
答案 1 :(得分:0)
在命令提示符下执行此命令
%windir%\ Microsoft.NET \ Framework \ v4.0.21006 \ aspnet_regiis.exe -i
对我来说,它解决了这个问题