我正在尝试在 IIS 中托管一个新的 ASP.NET 5 WebAPI 项目,并且我正在使用 ASP.NET 5 RC 1 运行时。我正在使用的项目是新的 ASP.NET 5 WebAPI 项目的标准生成模板。(没有代码更改。)
我已经使用命令行成功发布了项目,并且可以使用特定端口(例如 localhost:12345)让应用程序在新网站中运行。例如,访问 localhost:12345/api/values 会返回项目模板中的 values.json 数据。
但是,当我尝试为项目使用 IIS 应用程序文件夹时,我收到 404 错误。换句话说, localhost:12345/WebApi1/api/values 返回 404 错误。但是我可以在事件查看器中看到 Kestrel 在随机端口上运行,如果我访问该端口上的数据,我确实会返回 values.json,所以我知道 Kestrel 正在运行。
是否需要做一些特别的事情才能让 ASP.NET 5 WebAPI 项目在网站下的 IIS 应用程序文件夹中工作?
旁注:如果我使用 --server.urls 为 Kestrel 设置端口,它会在请求的端口和事件查看器中记录的随机端口上运行。(所以它实际上可以从 Kestrel 的 2 个 URL 获得,而不是由 --server.urls 配置的一个。)