【问题标题】:Can I limit an ASP.net HttpHandler scope?我可以限制 ASP.net HttpHandler 范围吗?
【发布时间】:2010-07-26 16:20:39
【问题描述】:

我有一个依赖于我创建的通用 HttpHandler 的应用程序,它工作正常。问题是在 IIS 的同一文件夹下还有许多其他应用程序,而这些其他应用程序不需要使用也不知道(必须不知道)这个处理程序。 但是,我在其中注册它的 Web.Config 最终会应用于同一级别的所有文件夹和所有子文件夹,这是我想要避免的。

很遗憾,不可能在 IIS 中更改应用程序的结构。

我曾想过在 Web.config 上使用 标签,但我的印象是它只改变访问权限而不改变可见性。

关于如何克服这个问题有什么建议吗?

【问题讨论】:

  • 我现在意识到这缺乏细节。有问题的处理程序旨在通过 Web 服务从防火墙后面的数据库向 DMZ 上的网站提供 gif 图像。它返回了一个可以被页面动态使用的 Image 对象。

标签: .net asp.net iis httphandler


【解决方案1】:

您可以通过检查将要通过您的过滤器的文件来将自定义过滤器应用于您的 HttpHandler,并只保留您需要的那个。

您可以通过

获取将要通过 HttpHandler 的文件名
HttpContext.Current.Request.Path

在此文件名中,您可以检查任何内容、目录、文件、任何内容。

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    HttpHandlers 是在应用程序级别配置的。您所说的这些子文件夹真的是独立的应用程序吗?如果没有,您对此无能为力……不过,Aristos 的建议可能是可行的。如果它们确实是应用程序,您只需从这些应用程序中专门删除处理程序。

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

    【讨论】:

    • 是的,不幸的是,它们确实是不同的、不相关的并且非常断章取义的应用程序。但这确实是没有商量余地的。
    【解决方案3】:

    【讨论】:

    • 您知道 HttpHandler 是否可以在任何层级上处理 Web.Config 文件吗?
    猜你喜欢
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多