2010-07-26 35 views
1

我有一个应用程序依赖于我创建的通用HttpHandler,并且它工作正常。问题是IIS中的同一个文件夹下还有许多其他应用程序,这些其他应用程序不需要使用,也不知道(不知道)这个处理程序。 但是,我注册的Web.Config最终应用于同一级别的所有文件夹和所有子文件夹,这就是我想要避免的。我可以限制一个ASP.net HttpHandler范围吗?

不幸的是,更改IIS内部应用程序的结构不是一种可能性。

我想到在Web.config上使用< location>标签,但我觉得它只改变了访问权限而不是可见性。

关于如何克服这一点的任何建议?

+0

我现在意识到这是缺乏细节。有问题的处理程序意味着通过Web服务将防火墙数据库后面的gif图像提供给DMZ上的网站。它返回了一个Image对象,可以在页面上随时使用它。 – jehuty 2010-07-27 21:05:15

回答

0

HttpHandler是在应用程序级别配置的。这些子文件夹是否提供真正独立的应用程序?如果没有,你可以做的事情不多...... Aristos的建议可能是可行的。如果它们确实是应用程序,那么只需要从这些应用程序中特别移除处理程序。

http://msdn.microsoft.com/en-us/library/e0dzxdza%28VS.71%29.aspx

+0

是的,不幸的是,他们真的是不同的,无关紧要的,应用程序超出了背景。但它确实是不可谈判的。 – jehuty 2010-07-27 21:02:38

1

您可以通过检查会通过你的过滤器来传递文件应用自定义过滤器,您的HttpHandler的,只保留一个你需要的。

您可以通过

HttpContext.Current.Request.Path 

,也都是要通过你的HttpHandler的文件名在此文件名,你可以检查东西,对于一个目录,文件,对什么都。

希望这有助于。

相关问题