边缘情况:可以将Net.Core 3.1配置为与Asp.Classic在同一文件夹中运行吗?

问题描述 投票:0回答:1

我正在逐步地将一个巨大的Asp.Classic(3K文件)迁移到Net.Core 3.1(即逐个文件夹迁移)。我们已经解决了共享会话的问题,并且不希望同时访问并行站点(但是如果没有简单的解决方案,则可能会终止并行访问)。

合并的Web.Config中的一行(在下面的中)确定是Asp.Classic加载还是Net.Core加载。

  • 注释:经典Asp
  • 取消注释:Net.Core
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
      <handlers>
        <!--<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />-->
      </handlers>
        <aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>

我意识到用C ++编写的ISAPI过滤器是可能的(以一种简单的方式:如果请求中有一个.asp,请访问Asp.Classic,否则请传递到Net.Core)。走那条路之前还有其他选择吗?

c# web-config iis-8 httphandler isapi
1个回答
0
投票

据我所知,如果要在同一IIS网站上托管经典的asp和asp.net核心,则应修改hanlder映射,以使经典的asp处理程序位于asp.net核心模块之上。

详细信息,您可以参考以下步骤:

1。打开IIS管理控制台并选择处理程序映射:

enter image description here

2。单击排序的列表:

enter image description here

3。将经典的asp提升到比aspnet核心更高的位置

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.