你们的问题。 如果我通过IIS中的isapi过滤器捕获404错误并使用代码调用处理程序,以通过将其url请求作为参数并在数据库上运行查询来重定向用户。如果错误处理程序同时捕获多个用户,是否可以遇到使动态服务器端重定向的问题。我相信第一次执行正在终止,第二次执行完成,两个用户都被重定向到同一个URL。
有什么想法? 感谢
答案 0 :(得分:0)
我通过IIS中的isapi过滤器捕获404错误...
我不清楚您是否正在编写过滤器,或者过滤器是否已存在。我假设你自己编写它,因为这是stackoverflow,我会假设C或C ++,因为你说ISAPI。
在中案例.... ISAPI过滤器将为每个请求传入请求获得HTTP_FILTER_CONTEXT。您需要构建代码以便将这些内容分开;如果使用C,则将指向该结构的指针传递给代码中的每个函数,或者如果使用C ++,则将其存储在对象状态中。您的代码也需要是线程安全的。
如果多个用户同时被错误处理程序捕获,我是否会遇到使动态服务器端重定向的问题。
是的,如果您不遵守编写多线程过滤器的要求。
我认为有更简单的方法可以达到你想要的效果。 IIS allows administrators to specify URLs to deliver a "custom HTTP Error Response"。 URL可以是Web服务器上的任何内容,包括动态Web脚本,如用ASPNET或PHP编写的页面等等。您可能希望使用302重定向到动态页面;这是一种常见的模式。没有必要求助于编写ISAPI过滤器。