HttpHandler 保护虚拟目录中的文件

HttpHandler to protect files in a virtual directory

我的目标是保护存在于我的 ASP.NET Web 表单应用程序的虚拟目录中的某些文件。 为此,我有一个名为 "FileAccessHandler" 的 HTTPHandler。在我的 web.config 中,我尝试将 "path" 设置为虚拟目录,但它似乎只适用于我的应用程序中存在的路径,而不适用于虚拟目录。使用虚拟目录路径时出现以下错误:"Could not load type MyProject.FileAccessHandler".

我的处理程序配置如下:

    <system.webServer>
      <httpModules>
        <add name="FileAccessHandler" path="/attachments/*" verb="*" type="MyProject.FileAccessHandler" resourceType="File" preCondition="integratedMode"/>
      </handlers>
    </system.webServer>

我也尝试通过 IIS 手动将 HTTP 处理程序直接添加到虚拟目录,但没有成功。任何帮助将不胜感激!!

发现问题!虚拟目录已转换为应用程序,因此嵌套应用程序无法识别 HTTPHandler 类型。

此网站以前安装在 IIS 6 网络服务器上,其中 ASP 环境更宽容,并且两种情况都使用相同的图标。一旦它被转换为虚拟目录,HTTP 处理程序类型就被识别出来了。

更多信息:

http://forums.asp.net/t/1813828.aspx?adding+virtual+directory+vs+convert+to+application+