2010-11-02 77 views
0

问题给你们。 如果我通过IIS中的isapi过滤器捕获404错误,并调用带有代码的处理程序,通过将其url请求作为参数并在数据库上运行查询来重定向用户。如果多个用户同时被错误处理程序捕获,是否可以遇到使动态服务器端重定向的问题?我相信第一个执行被终止,第二个执行完成,并且两个用户都被重定向到相同的URL。IIS 404动态重定向

有什么想法? 感谢

回答

0

我通过IIS ISAPI筛选器捕获404错误...

我不清楚,如果你是写作过滤器,或者如果过滤器已经存在。我假设你自己写了它,因为这是stackoverflow,并且我会假设C或C++,因为你说的是​​ISAPI。

case .... ISAPI过滤器将为每个请求传入请求获得一个HTTP_FILTER_CONTEXT。你需要构建你的代码,以便将这些事情分开;如果使用C,则将指针传递给代码中每个函数的结构,或者如果使用C++将其存储在对象状态中。你的代码也需要是线程安全的。

如果多个用户同时被错误处理程序捕获,我是否可以遇到使动态服务器端重定向的问题。

是的,如果你不遵循编写多线程过滤器的要求。


有一些简单的方法可以完成你想要的,我想。 IIS allows administrators to specify URLs to deliver a "custom HTTP Error Response"。 URL可以是网络服务器上的任何内容,包括动态网页脚本,如使用ASPNET或PHP或其他编写的页面。您可能需要使用302重定向到您的动态页面;这是一种常见的模式。没有必要诉诸编写ISAPI过滤器。