【发布时间】:2011-06-20 12:55:22
【问题描述】:
如何在路由处理之前从路由中获取数据?
这样,我得到了以下网址:
localhost:1111/{eventid}/controller/method/id
{eventid} 将可用于整个应用程序中的几乎所有调用。现在我需要在我的 IOC 统一解析器获得控制器之前获得{eventid}。在控制器中,我得到了一个像这样统一配置的依赖项:
container.RegisterType<UserIdent>(new InjectionFactory(c =>
{
...
return GetUser(User.Identity.Name, Session["EventId"].ToString());
}));
所以我需要在统一解决这个问题之前设置Session["EventId"]。
所以基本上我只需要查看 EventId 是否存在于路由值中(在对依赖解析器进行任何调用之前)以及是否存在创建/更新具有 id 号的新会话。
2) 有没有更好的方法将该 id 传递给 unity,然后使用带有事件 id 的会话?
这将发生在用户提出的每个请求上。
【问题讨论】:
标签: c# asp.net-mvc-3 routing unity-container