加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

iis-7.5 – 使用虚拟目录/应用程序在IIS中托管ASP.NET 5 WebAPI

发布时间:2020-12-15 19:50:42 所属栏目:asp.Net 来源:网络整理
导读:我试图在IIS中托管一个新的ASP.NET 5 WebAPI项目,我正在使用ASP.NET 5 RC 1运行时.我正在使用的项目是新的ASP.NET 5 WebAPI项目的标准生成模板. (没有代码更改.) 我已经使用命令行成功发布了该项目,并且我可以使用特定端口(例如localhost:12345)使应用程序
我试图在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中的Configure方法中
app.Map("/IISApplicationFolderName",(myAppPath) => this.ConfigureApp(myAppPath,env,loggerFactory));

其中IISApplicationFolderName是您要在其下托管的IIS应用程序文件夹的名称.其余配置代码将移至新方法ConfigureApp,因为您将配置委派给该方法.

在ASP.NET 5 RC2发布之前,这看起来也是一个临时补丁.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读