在初始重定向后,是否可以将MVC3请求重定向到区域路由而不使用301/302重定向?让我解释一下我想要的东西,因为这对我来说听起来很复杂。
基本流程:
因此,最终结果是在设置初始ContextId之后对http://somdomain.com的所有请求将使用该区域,直到指定新的ContextId为止。
我可以使用IHttpModule
来捕获查询字符串,然后在会话中为后续请求设置一些值,但之后我需要发出RedirectToXXXX()
调用来执行重定向。这将生成包含该区域的URL,然后我需要在将来识别此类“映射”请求以防止重定向循环。 Euwwww。
我已经查看了自定义路由约束,但路由在管道中很早就发生了,因为没有可用的会话,这使得很难“知道”约束所附加的路由是否是我想要的路由。特别是因为我不希望在此阶段请求URL中包含该区域。
这可能吗?任何想法都会受到欢迎。
答案 0 :(得分:0)
您可以将上下文存储在cookie中,并使用RouteConstraint中的cookie值强制匹配适当的区域。