ASP.NET管道无法传递静态文件

3
我有一个ASP.NET Web应用程序(Sitecore),我需要通过ASP.NET处理以.html结尾的路由。通常情况下,只需在web.config中的/Configuration/system.WebServer/modules中添加validateIntegratedModeConfiguration="true"即可。但是,我没有看到这种行为。试图输入“test.html”会给我默认的IIS 404页面,并且代码不会运行。应用程序池已经处于集成模式,并且属性validateIntegratedModeConfiguration已经设置为true。我错过了什么吗?

你是如何处理你的路由?你是否在Sitecore管道中打补丁?你能发布一些示例代码吗?这可能是因为“html”不是配置中允许的扩展名 - jammykam
1
“配置中允许的扩展名”让我在showconfig.aspx的输出中进行了搜索,然后我在PreProcessRequest管道中找到了相关的处理器。我将html添加到允许列表中,然后它就可以工作了。如果您将您的评论转换成答案,我会接受它 :) - Yiangos
1个回答

3
如果您的路由已使用 Sitecore 管道注册,则需要在“允许扩展名”列表中包含 html。请按照以下方法打补丁配置以包含您需要处理的任何扩展名:
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
      <preprocessRequest>
        <processor type="Sitecore.Pipelines.PreprocessRequest.FilterUrlExtensions, Sitecore.Kernel">
          <param desc="Allowed extensions (comma separated)">aspx, ashx, asmx, html</param>
        </processor>
      </preprocessRequest>      
    </pipelines>    
  </sitecore>
</configuration>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接