c# - 如何将自定义处理程序仅应用于特定文件夹

标签 c# asp.net iis-7 iis-7.5 handler

我使用 Asp.Net 4 C# 和 IIS 7.5。

在 web.config 中,我能够成功应用我的处理程序(代码如下),如您所见 path="*.jpg" 让处理程序在我网站的任何文件夹中运行。

我需要将此处理程序应用于所有.jpg请求,但仅在特定文件夹中,在我的例子中/Cdn/Cms/Images/

因此我更新为 path="/Cdn/Cms/Images/*.jpg" 但处理程序不适用。

我尝试了很多次不同的路径,但现在是这样。

如何将处理程序仅应用于特定文件夹?

感谢您抽出时间来讨论此问题。

此问题与 this one 相关

   <system.webServer>
...
        <validation validateIntegratedModeConfiguration="false" />

        <handlers>
            <add name="Cms-ImageRouteHandler" path="*.jpg" verb="*" type="WebProject.Cms.BusinessLogics.SEO.Routing.ImageRouteHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
        </handlers>
...

最佳答案

尝试在您的网站文件夹中创建 /Cdn/Cms/images 文件夹结构,然后在该文件夹中创建一个 web.config,其中包含以下内容:

<configuration>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
            <add name="Cms-ImageRouteHandler" path="*.jpg" verb="*" type="WebProject.Cms.BusinessLogics.SEO.Routing.ImageRouteHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
        </handlers>
    </system.webServer>
</configuration>

然后您可以将其从主站点的 web.config 中删除。看看是否有效。

关于c# - 如何将自定义处理程序仅应用于特定文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7810435/

相关文章:

asp.net - 如何在 ASP.Net 5 Web API 中启用 OData

iis-7 - Windows 身份验证在 IIS 7.5 中失败

xml - IIS7 URL 重写 - 添加 "www"前缀

c# - 如何使用文件中的变量而不是 c# 中的内存(如页面文件)

c# - 尝试引用用户控件时出现错误 "The name does not exist in the current context"

mysql - ODBC 驱动程序错误

javascript - 使用 ESC 和 JavaScript Gridview 退出编辑模式

c# - 舍入 .NET DateTime 毫秒,因此它可以适合 SQL Server 毫秒

c# - NUnit 不会因终结器中的异常而失败

php - 如何在 IIS 中调试 PHP?