【问题标题】:Capture request static file in asp.net在 asp.net 中捕获请求静态文件
【发布时间】:2015-03-12 11:34:00
【问题描述】:

如何使用 asp.net 捕获和处理静态文件请求?

我用BeginRequest 尝试了“IModule”和“Global.asax”,但是 请求未被捕获。

IIS 中是否有一些设置可以在 asp.net 中引导某些组件(IModule / Handler / Global.asax / DLL)?

或者以某种方式将请求定向到使用 C# 制作的某个 DLL?

例如: "获取http://localhost/myapp/report/report1.html"

我怎样才能捕获这个请求?

我做不到,进入asp.net。

我希望能够检查权限,并且可以处理文件,并处理响应。

【问题讨论】:

标签: c# asp.net web


【解决方案1】:

如果您在集成模式下运行应用程序池,最简单的方法是告诉 IIS 将所有请求发送到“托管处理程序”。

在您的 web.config 中,您应该有一个 <system.webServer> 元素,它可能有一个 modules 元素 - 将其更新为:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
  [...]

有了这些,您将能够使用 ASP.NET 的所有标准功能,包括路径上的身份验证控制。

请注意,这将通过您的应用程序发送所有请求,因此您会在其中看到对 .css.js 文件的请求,因此如果您尝试锁定所有内容,则需要将它们保持打开状态。

【讨论】:

    【解决方案2】:

    是的,IIS 有这样的设置,Handler Mapping

    该设置决定了处理程序将被调用以用于不同的文件扩展名。将 ASP.NET 处理程序设置为所需的扩展,您可以使用 ASP.NET 功能(IHttpModel 和其他)进行捕获。

    【讨论】:

      猜你喜欢
      • 2017-08-29
      • 2014-11-22
      • 2013-07-30
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 2020-10-26
      相关资源
      最近更新 更多