如何在 ASP.NET 中处理 *.txt 请求
我在 IIS7 下以经典模式运行 asp.net 应用程序。 我已经使用 ISAPI 模块创建了映射到“*”的脚本,但是当我执行 txt 请求(即使它不存在)时,我收到 404 错误:
Notification MapRequestHandler
Handler StaticFile
并且在 Global.asax 或模块中没有触发任何事件。 我错过了什么吗?
<system.web>
...
<httpHandlers>
<add verb="*" path="*" validate="false" type="TestCustomExtensions.TextFileHandler, TestCustomExtensions" />
</httpHandlers>
<httpModules>
<add name="text" type="TestCustomExtensions.TextModule"/>
</httpModules>
</system.web>
<system.webServer>
...
<modules>
<add name="textModule" type="TestCustomExtensions.TextModule"/>
</modules>
<handlers>
<add name="TextFiles" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
</handlers>
,</system.webServer>
I've running asp.net application under IIS7 in classic mode.
I've already created script mapping to '*' with ISAPI module, but when i perform txt request (even if it not exists) i get 404 error with:
Notification MapRequestHandler
Handler StaticFile
and no event is fired in Global.asax or modules.
Do i missed something?
<system.web>
...
<httpHandlers>
<add verb="*" path="*" validate="false" type="TestCustomExtensions.TextFileHandler, TestCustomExtensions" />
</httpHandlers>
<httpModules>
<add name="text" type="TestCustomExtensions.TextModule"/>
</httpModules>
</system.web>
<system.webServer>
...
<modules>
<add name="textModule" type="TestCustomExtensions.TextModule"/>
</modules>
<handlers>
<add name="TextFiles" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
</handlers>
,</system.webServer>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可能需要删除
StaticFile
处理程序:UPDATE
尝试以下操作(HTTP 处理程序的顺序很重要):
You probably need to remove the
StaticFile
handler:UPDATE
Try the following (the order of HTTP handlers is important):
您可以使用 IIS 失败请求跟踪以查看实际请求的内容以及失败的位置。
You could use IIS Failed Request Tracing to see what actually gets requested and where it fails.
解决了!
问题出在我的操作系统中。我安装了 64x Windows,但在配置文件中我设置了 ISAPI dll 的 32x 路径。因此,为了解决这个问题,我添加了两行来处理 32x 和 64x 操作系统。
Resolved!
The problem was in my OS. I have 64x windows installed, but in config file i set 32x path to ISAPI dll. So, to resolve this, i've added two lines, to handle both 32x and 64x OS.