0

我正在尝试根据每个会话在 .net 中注册路由集合。我的代码工作正常,您转到网站/用户名并加载正确的子页面,但您必须重新启动应用程序以转到网站/用户名2 才能加载这些子页面。但是当应用程序重新启动时,第二个工作,但不是第一个。

是否有某种方法可以使用 system.web.routing 为每个会话而不是每个应用程序创建不同的路由集合。

4

3 回答 3

3

路由链接到路由名称并为 Web 应用程序全局存储,因此您无法真正定义每个会话的路由。你能举例说明为什么你需要为不同的用户提供不同的路线吗?很可能可以通过简单地使用路由模式来解决,例如将 RouteUrl 设置为类似:“member/logo/{size}/{UserName}.jpg”,您可以在通过 Page 生成路由 url 时指定用户名和大小。 GetRouteUrl()

于 2011-01-26T21:44:57.763 回答
1

您可以创建自己的路由处理程序。看看:ASP.Net MVC 框架 - 创建自己的 IRouteHandler

使用这种方法,您将能够根据请求进行不同的路由。然后,每个请求都可以查看您的会话值以获取正确的处理程序。

于 2011-01-26T21:52:12.190 回答
0

RouteTable.Routes 是静态的,因此所有会话共享相同的路由。因此,您不能为每个会话设置不同的路由集。

于 2011-01-26T21:45:55.890 回答