Asp.net mvc 3 重定向到ASP.Net MVC3中不影响Url的区域

Asp.net mvc 3 重定向到ASP.Net MVC3中不影响Url的区域,asp.net-mvc-3,routing,Asp.net Mvc 3,Routing,在初始重定向之后,是否可以不使用301/302重定向而将MVC3请求重定向到区域路由?让我解释一下我想要什么,因为这听起来甚至对我来说都很复杂 基本流程: 请求: 重定向 提供01区的内容;主控室;行动指数 已从url中删除ContextId查询字符串项 因此,最终结果是,在设置初始ContextId之后的所有请求都将使用该区域,直到指定新ContextId为止 我可以使用IHttpModule捕获查询字符串,然后在会话中为后续请求设置一些值,但是我需要发出redirectToxxx()调用

在初始重定向之后,是否可以不使用301/302重定向而将MVC3请求重定向到区域路由?让我解释一下我想要什么,因为这听起来甚至对我来说都很复杂

基本流程:

  • 请求:
  • 重定向
    • 提供01区的内容;主控室;行动指数
    • 已从url中删除ContextId查询字符串项
  • 因此,最终结果是,在设置初始ContextId之后的所有请求都将使用该区域,直到指定新ContextId为止

    我可以使用
    IHttpModule
    捕获查询字符串,然后在会话中为后续请求设置一些值,但是我需要发出
    redirectToxxx()
    调用来执行重定向。这将生成一个包含该区域的URL,然后我需要在将来识别此类“映射”请求以防止重定向循环。嗯

    我已经看过自定义路由约束,但是路由在管道中发生得太早,以至于没有可用的会话,这使得很难“知道”约束所附加的路由是否是我想要的路由。尤其是在这个阶段,我不希望请求URL中包含该区域


    这可能吗?任何想法都是非常受欢迎的。

    您可以将上下文存储在cookie中,并使用RouteConstraint中的cookie值强制匹配到适当的区域。

    您可以在路由约束中使用cookie吗?现在就使用cookie进行测试。但不确定它是否适合我们的最终解决方案。感谢您的建议-我们将报告您的发现。@tvanfosson看来饼干是可以接受的,而且它们在RouteConstraint内工作得很好。由于路由图中缺少名称空间,与URL 404有点小冲突。谢谢如果你想把它作为一个答案,我会打勾:)