2008-12-24 66 views
0

我有一个应用程序,它被要求为使用大量查询字符串值的动态页面创建一个友好的url。在Internet上进行了一些研究之后,我发现我需要创建一个HttpModule或HttpHandler来完成路由,然后在IIS中设置一个通配符映射到aspnet_isapi.dll的.Net v1.1(删除Verify the File Exist复选框)。带有通配符映射的ASP.Net 1.1在默认文档上提供404

一切工作正常本地在我的XP专业箱使用虚拟目录来测试。

当我将它提升到测试环境(Server 2003)时,直接访问页面和路由工作正常;但是,默认文档不再有效。我在网上发现一个参考资料,指出由于ASP.Net WP和IIS6的分离,IIS6在默认文档逻辑之前处理通配符映射。

我试图更新我的HttpHandler来解释一个/路由;但是,路由页面上的代码不再有效。在Web.Config中,我尝试使用*作为路径以及/并获得相同的响应。我也在使用我觉得不正确的Response.Redirect。

我也试过了URLRewriter.net;然而,它花了几个小时试图让它工作(它只是不会路由在这个asp.net 1.1应用程序出于某种原因)后没有工作。

任何想法可能是什么原因或如何让我的路线到默认页面和我的具体页面设置,而让剩下的独立?

回答

0

我在URLRewriter的README信息中发现了一些拼写错误。根据在线文档配置它,而不是基于二进制文件提供的示例,我能够使其在本地解决我的问题。

将代码提升到我的测试服务器后,预期的路由正在工作,但默认域路由不是仍然存在。我稍微修改了默认路由的URL模式,并开始工作。