Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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# 如何组合PolicyInjection.Create和UnityContainer.RegisterType?_C#_.net_Asp.net Mvc_Dependency Injection_Enterprise Library - Fatal编程技术网

C# 如何组合PolicyInjection.Create和UnityContainer.RegisterType?

C# 如何组合PolicyInjection.Create和UnityContainer.RegisterType?,c#,.net,asp.net-mvc,dependency-injection,enterprise-library,C#,.net,Asp.net Mvc,Dependency Injection,Enterprise Library,我的web应用程序使用UnityContainer 我想增加政策注入 我怎样才能同时使用它们呢 也就是说谁应该负责类型注册 政策组: public ActionResult Index() { var model = PolicyInjection.Create<TestModel, ITestModel>(); ViewBag.Message = model.TestLog(); return View();

我的web应用程序使用UnityContainer

我想增加政策注入

我怎样才能同时使用它们呢

也就是说谁应该负责类型注册

政策组:

    public ActionResult Index()
    {
        var model = PolicyInjection.Create<TestModel, ITestModel>();

        ViewBag.Message = model.TestLog();

        return View();
    }
public ActionResult Index()
{
var model=PolicyInjection.Create();
ViewBag.Message=model.TestLog();
返回视图();
}
团结:

 IUnityContainer container = defaultContainer;

                //registering Unity for MVC
                DependencyResolver.SetResolver(new UnityDependencyResolver(container));

                //registering Unity for web API
                //  GlobalConfiguration.Configuration.DependencyResolver = new Unity.WebApi.UnityDependencyResolver(container);

                #region managers
                container.RegisterType<ISettingsManager, SettingsManager>();

                container.RegisterType<IMamDataManager, MamDataManager>();

                container.RegisterType<IAppsDataManager, AppsDataManager>();
                #endregion
IUnityContainer container=defaultContainer;
//为MVC注册Unity
SetResolver(新UnitedDependencyResolver(容器));
//为web API注册Unity
//GlobalConfiguration.Configuration.DependencyResolver=新的Unity.WebApi.UnityDependencyResolver(容器);
#区域经理
container.RegisterType();
container.RegisterType();
container.RegisterType();
#端区
。您不必再使用静态
PolicyInjection


更新


有一篇文章包含了一些很好的例子。

@EladBenda在我的更新中链接的文章包含了一些例子。
//策略注入
需要吗?什么是
Fluent code
?@EladBenda您需要将
拦截
扩展添加到容器中,将
策略注入行为
拦截
添加到要拦截的每种类型的注册中。流畅的代码表示配置样式。您可以在本文后面看到一个关于如何使用配置文件的示例。