我创建了一个ASP.NET 5应用程序。目前我只是尝试公开一个非常简单的Web.API方法来尝试使其工作。控制器如下:
using System.Threading.Tasks;
using Microsoft.AspNet.Mvc;
namespace Api
{
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpGet("{id}")]
public async Task<Value> Get(int id)
{
return await Task.Factory.StartNew(() => new Value { Id = id });
}
}
}
我尝试按照asp.net文档中提供的两个教程这里和这里进行操作。我已经将网站发布到机器上的某个位置,并配置了IIS指向该位置。我已启用了IIS日志记录。当我尝试从IIS浏览并访问url http://localhost/TestApi/api/Values/1时,浏览器显示404响应。令我感兴趣的是,在响应头中有一个看起来像是这样的:Server: Kestrel。这不应该是IIS吗?此外,我的日志目录还会生成一个日志文件,其内容如下:
Hosting environment: Production
Now listening on:http://localhost:20488
Application started. Press Ctrl+C to shut down.
当我访问http://localhost:20488/api/Values/1时,我得到了我的JSON对象返回。{ Id: 1 } 我想不出我做错了什么。我已经搜索了很多,试图找到正确的配置以使其与IIS一起工作,但仍然没有找到答案。您有什么想法我做错了什么或如何使其按预期工作吗?我还阅读了这些博客文章,它们似乎是很好的资源,但没有任何关于我遇到的问题的信息:strathweb,blogs.msdn 更新:我在Windows 10上尝试过并且遇到了同样的问题,因此我从问题标题中删除了IIS 7.5,因为它似乎不是IIS 7.5特定的问题。