HttpHandler保护虚拟目录中的文件

时间:2015-05-09 22:26:50

标签: asp.net iis httphandler virtual-directory

我的目标是保护ASP.NET Web窗体应用程序的虚拟目录中存在的某些文件。 为此,我有一个名为“FileAccessHandler”的HTTPHandler。在我的web.config中,我尝试设置虚拟目录的“路径”,但它似乎只适用于我的应用程序中存在的路径而不是虚拟目录。使用虚拟目录路径时出现以下错误:“无法加载类型MyProject.FileAccessHandler”。

我的处理程序配置如下:

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

我尝试通过IIS手动将HTTP Handler直接添加到虚拟目录中,但也没有运气。任何帮助将不胜感激!!

1 个答案:

答案 0 :(得分:1)

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

此网站以前安装在IIS 6 Web服务器上,其中ASP环境更宽容,并且两种情况都使用相同的图标。一旦将其转换为虚拟目录,就会识别HTTP Handler类型。

更多信息:

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