在Session中存储UnityManager

时间:2012-07-19 12:41:44

标签: asp.net-mvc unity-container

请让我先说明我对Unity不是很熟悉。我知道它是一个依赖注入容器,我在一定程度上理解这意味着什么。我继承了一个使用Unity的应用程序,尽管我似乎没有正确实现。在session_start的{​​{1}}中,前一个开发人员使用以下代码来实例化unity对象,然后将其持续整个会话:

global.asa

据我所知,这不会导致并发问题吗?任何人都可以提供一个如何正确实现统一的例子,或者如果这是正确的解释为什么会这样?

1 个答案:

答案 0 :(得分:0)

如果你正在使用mvc,你可以删除会话并从nuget包管理器安装unity.mvc3。它与mvc4兼容,并以正确的方式为您设置。您可以将现有映射放在bootstrapper.cs(自动安装)

基本上你想在global.asax中有1个静态变量来访问unity。所以你可以替换所有这些

var unitycontainer = Session["UnityManager"];
unitycontainer.resolve<>...

MVCApplication.Container.Resolve<> ..