Jef*_*eff 5 iis-7.5 iis-8 asp.net-web-api2 kestrel-http-server asp.net-core
我试图在IIS中托管一个新的ASP.NET 5 WebAPI项目,我正在使用ASP.NET 5 RC 1运行时.我正在使用的项目是新的ASP.NET 5 WebAPI项目的标准生成模板.(没有代码更改.)
我已经使用命令行成功发布了该项目,并且我可以使用特定端口(例如localhost:12345)使应用程序在新网站中工作.例如,访问localhost:12345/api/values将返回项目模板中的values.json数据.
但是,当我尝试为项目使用IIS Application文件夹时,我收到404错误.换句话说,localhost:12345/WebApi1/api/values返回404错误.但我可以看到Kestrel在事件查看器中的随机端口上运行,如果我访问该端口上的数据,我会返回values.json,所以我知道Kestrel正在运行.
是否需要执行一些特殊操作才能使ASP.NET 5 WebAPI项目在网站下的IIS Application文件夹中运行?
旁注:如果我使用--server.urls为Kestrel设置端口,它会在请求的端口和事件查看器中记录的随机端口上运行.(所以它实际上可以从2个URL的Kestrel获得,而不是由--server.urls配置的单个URL.)
Kiran Challa 上面的链接确实解决了这个问题。将其放入 Startup.cs 中的配置方法中
app.Map("/IISApplicationFolderName", (myAppPath) => this.ConfigureApp(myAppPath, env, loggerFactory));
Run Code Online (Sandbox Code Playgroud)
其中 IISApplicationFolderName 是要在其下托管的 IIS 应用程序文件夹的名称。其余的配置代码将移至新方法ConfigureApp,因为您将配置委托给该方法。
这看起来也是一个临时补丁,直到 ASP.NET 5 RC2 发布为止。
| 归档时间: |
|
| 查看次数: |
2157 次 |
| 最近记录: |