在 asp.net 中捕获请求静态文件
Capture request static file in asp.net
如何使用 asp.net 捕获和处理静态文件请求?
我已经用 BeginRequest
尝试了 "IModule" 和 "Global.asax" 但是
请求未被捕获。
IIS 中是否有一些设置可以在 asp.net 中引导某些组件(IModule / Handler / Global.asax / DLL)?
或者通过某种方式将请求定向到使用 C# 生成的某些 DLL?
例如:
"get http://localhost/myapp/report/report1.html"
如何捕获此请求?
我做不到,进asp.net。
我希望能够检查权限,能够处理文件,处理响应。
是的,IIS有这样的设置,Handler Mapping。
设置决定了不同的文件扩展名将调用处理程序。将 ASP.NET 处理程序设置为所需的扩展名,然后您可以使用 ASP.NET 功能(IHttpModel
和其他)来捕获。
如果您是 运行 集成模式下的应用程序池,最简单的方法是告诉 IIS 将所有请求发送到 "Managed Handlers"。
在您的 web.config 中,您应该有一个 <system.webServer>
元素,它可能有一个 modules
元素 - 将其更新为:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
[...]
有了它,您将能够使用 ASP.NET 的所有标准功能,包括对路径的身份验证控制。
请注意,这将通过您的应用程序发送所有请求,因此您会在其中看到对 .css
和 .js
文件的请求,因此如果您尝试锁定所有内容,您将需要让那些打开。
如何使用 asp.net 捕获和处理静态文件请求?
我已经用 BeginRequest
尝试了 "IModule" 和 "Global.asax" 但是
请求未被捕获。
IIS 中是否有一些设置可以在 asp.net 中引导某些组件(IModule / Handler / Global.asax / DLL)?
或者通过某种方式将请求定向到使用 C# 生成的某些 DLL?
例如: "get http://localhost/myapp/report/report1.html"
如何捕获此请求?
我做不到,进asp.net。
我希望能够检查权限,能够处理文件,处理响应。
是的,IIS有这样的设置,Handler Mapping。
设置决定了不同的文件扩展名将调用处理程序。将 ASP.NET 处理程序设置为所需的扩展名,然后您可以使用 ASP.NET 功能(IHttpModel
和其他)来捕获。
如果您是 运行 集成模式下的应用程序池,最简单的方法是告诉 IIS 将所有请求发送到 "Managed Handlers"。
在您的 web.config 中,您应该有一个 <system.webServer>
元素,它可能有一个 modules
元素 - 将其更新为:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
[...]
有了它,您将能够使用 ASP.NET 的所有标准功能,包括对路径的身份验证控制。
请注意,这将通过您的应用程序发送所有请求,因此您会在其中看到对 .css
和 .js
文件的请求,因此如果您尝试锁定所有内容,您将需要让那些打开。