Http Module&当Http Handler位于ASP.NET网站的虚拟目录下时,它不会被触发

时间:2009-09-09 07:11:38

标签: asp.net httphandler virtual-directory

问题:有一个网站(localhost:85)配置为C:\ abc。我创建了一个单独的网站,里面有HttpModule和HttpHandler。这个新网站不应该在主要应用程序(C:\ abc)中。所以我放了一个像D:\ xyz这样的单独文件夹。并在端口85下配置了一个虚拟目录。

在与xyz应用程序请求相关时,使用ISAPI过滤器,我将URL映射到\xyz\URIRequest.aspx?RequestURL=ActualQuerystring

问题是请求到达XYZ应用程序Global.asax Application_start()。但它没有通过管道(运行httpmodule和httphandler)。

如果我将此XYZ应用程序配置为单独的网站或在网站下创建虚拟目录,其中没有web.config。该应用程序运行正常。

尝试解决方案:

  1. 将xyz应用程序的web.config条目移至Abc应用程序web.config,并将xyz应用程序dll粘贴到ABC / bin目录。

2 个答案:

答案 0 :(得分:1)

您是否已将虚拟目录标记为应用程序?即它在IIS中有一个齿轮吗?当子文件夹未按预期执行时,这是常见问题。

答案 1 :(得分:0)

这就是虚拟目录在IIS中工作的方式,当谈到web.configs时,它们是从虚拟目录上方的应用程序“继承”,一直到“windows \ Microsoft.NET”中的machine.config等...“文件夹。