Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 解决问题:统一行动过滤器属性_C#_Asp.net Mvc_Unity Container - Fatal编程技术网

C# 解决问题:统一行动过滤器属性

C# 解决问题:统一行动过滤器属性,c#,asp.net-mvc,unity-container,C#,Asp.net Mvc,Unity Container,我发现了这篇博文:关于在asp.NETMVC中共享强类型公共视图模型数据,在我看来,这将解决我在跨视图跟踪某些用户相关数据时遇到的问题 谈到DI和Unity,我是一个完全的新手,因为我以前从未使用过它,但我了解使用它的好处。这篇文章是从2012年5月开始的,但据我所知,应该仍然有效,也许会有一些小的变化 我在VS2015社区版中使用C#、MVC 5、EF、代码优先、迁移、Unity V4.01和Unity.MVC V4.01 我从头到尾都在关注这篇博客文章(缺少测试)和所有的编译。但我有一个问题

我发现了这篇博文:关于在asp.NETMVC中共享强类型公共视图模型数据,在我看来,这将解决我在跨视图跟踪某些用户相关数据时遇到的问题

谈到DI和Unity,我是一个完全的新手,因为我以前从未使用过它,但我了解使用它的好处。这篇文章是从2012年5月开始的,但据我所知,应该仍然有效,也许会有一些小的变化

我在VS2015社区版中使用C#、MVC 5、EF、代码优先、迁移、Unity V4.01和Unity.MVC V4.01

我从头到尾都在关注这篇博客文章(缺少测试)和所有的编译。但我有一个问题,这一行会导致问题:

GlobalFilters.Filters.Add(container.Resolve<LayoutModelAttribute>(), 1);
GlobalFilters.Filters.Add(container.Resolve(),1);
据我所知,正确的调用位置是在App_start文件夹中的FilterConfig.cs文件中,我在该文件夹中执行了以下操作:

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
        var container = UnityConfig.GetConfiguredContainer();
        filters.Add(container.Resolve<LayoutModelAttribute>());
    }
publicstaticvoidregisterglobalfilters(GlobalFilterCollection过滤器)
{
filters.Add(新HandleErrorAttribute());
var container=UnityConfig.GetConfiguredContainer();
filters.Add(container.Resolve());
}
container.Resolve下面有一条曲线,项目将无法编译。错误描述如下:

非泛型方法“IUnityContainer.Resolve(类型、字符串、参数)” ResolverOverride[])不能与类型参数一起使用

我也尝试过其他地方,但结果是一样的,我现在倾向于这样一种观点,即自2012年以来,统一本身已经发生了变化,现在必须以不同的方式解决

我很确定我做错了什么,这是因为博客帖子来自2012年,Unity现在以不同的方式工作。由于我缺乏Unity方面的经验,我无法确定如何更改无法编译的代码行,或者更改到什么程度,以及如何在必要时重构blogpost


我希望有人能给我指出正确的方向。

看来你使用的容器没有注射功能。看看下面的答案

您是否尝试过添加一个用于Microsoft.Practices.Unity的应用程序?