我想你可能很幸运...
我们做了类似的事情。我们的电子商务网络应用程序仅接受 JPG、PNG 和 GIF 文件作为产品的图像,但我们希望为每个产品动态创建每个图像。
因此,我们将 JPG、PNG 和 GIF 文件重新映射为处理程序。
然而,我们不想要所有JPG、PNG 和 GIF 文件,因为这对于静态文件来说效率非常低,所以我们只做了某些。
这是如何做到的。
如果您的所有 ASPX 文件都遵循没有其他文件共享的类似文件规范,请将其添加到您web.config
的<httpHandlers>
.
<add path="filespec*.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/>
如果它们不都共享文件规范,则必须将它们一一添加到 web.config:
<add path="oldaspx1.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/>
<add path="oldaspx2*.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/>
<add path="oldaspx3*.aspx" verb="*" type="MyAssembly.MyHandlerName, MyAssembly"/>
为了使这无论您是否在 IIS7 集成管道中运行都可用,您还可以向<handlers>
元素添加类似的行
然后,当对“oldaspx1.aspx”的请求进入时,您的自定义处理程序将处理(非常有效,无需启动页面生命周期)。
如果这解决了您的问题,请将其标记为已接受的答案,并在左侧打勾。