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

iis-7.5 – ASP.NET 5将应用程序添加为IIS应用程序

发布时间:2020-12-16 07:29:42 所属栏目:asp.Net 来源:网络整理
导读:我正在将一些应用程序从ASP.NET 5 beta7迁移到RC1.使用HTTPPlatformHandler我可以运行任何这些ASP.NET 5 RC1应用程序作为IIS站点的根目录.但它们不会作为网站的子目录(右键单击“添加应用程序”)运行.完整的回复显示: HTTP/1.1 404 Not FoundContent-Length
我正在将一些应用程序从ASP.NET 5 beta7迁移到RC1.使用HTTPPlatformHandler我可以运行任何这些ASP.NET 5 RC1应用程序作为IIS站点的根目录.但它们不会作为网站的子目录(右键单击“添加应用程序”)运行.完整的回复显示:

HTTP/1.1 404 Not Found
Content-Length: 0
Server: Kestrel
X-Powered-By: ASP.NET
Date: Tue,24 Nov 2015 14:59:04 GMT

这不是权限问题,因为当应用程序是站点的根目录并使用相同的应用程序池时,路由会成功提供.

应用程序池配置为“无托管代码”和集成管道.

root应用程序的web.config如下所示:

<configuration>
  <system.webServer>
    <handlers>
      <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="..approotweb.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="..logsstdout.log" startupTimeLimit="3600"></httpPlatform>
  </system.webServer>
</configuration>

对于子应用程序,我必须删除httpplatformhandler处理程序以避免错误“无法添加类型为’add’的重复集合条目,并将唯一键属性’name’设置为’httpplatformhandler’”.

现在我们必须使用kestrel / httpplatformhandler,是否可以在站点下作为应用程序运行?

解决方法

这个问题始于beta8,在RC1中仍然是一个悬而未决的问题.见 ASP.NET IIS Integration issue #14.“那个问题即将到来.” @davidfowl说.“这是一个解决方法,直到修复程序可用.我们正在与httpPlatformHandler团队合作修复beta8和rc1中发现的错误.”

解决方法是在Startup.Configure中映射IIS应用程序路径,如下所示:

public void Configure(IApplicationBuilder app,IHostingEnvironment env)
{
    app.Map("/MyAppPath",(myAppPath) => this.ConfigureMyAppPath(myAppPath,env));
}

public void ConfigureMyAppPath(IApplicationBuilder app,IHostingEnvironment env)
{
    // the actual Configure code
}

(编辑:李大同)

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

    推荐文章
      热点阅读