私は、次のコードを実行しよう:私はWEBAPIパッケージをインストールしようとしたが、それはWebApi.UnityDependencyResolverは、Microsoft.Practices.ServiceLocation.IServiceLocatorを実装していません。パラメータ:commonServiceLocator
を助けなかったThe type Unity.WebApi.UnityDependencyResolver does not appear to implement Microsoft.Practices.ServiceLocation.IServiceLocator. Parameter name: commonServiceLocator
:
using System.Web.Http;
using System.Web.Mvc;
using Conduit.Mam.ClientSerivces.Dal.Configuration;
using MamInfrastructure.Common.Dal;
using MamInfrastructure.Common.Logger;
using MamInfrastructure.Logger;
using Microsoft.Practices.Unity;
using Unity.WebApi;
namespace Conduit.Mam.ClientServices.Common.Initizliaer
{
public static class Initializer
{
private static bool isInitialize;
private static readonly object LockObj = new object();
private static IUnityContainer defaultContainer = new UnityContainer();
static Initializer()
{
Initialize();
}
public static void Initialize()
{
if (isInitialize)
return;
lock (LockObj)
{
IUnityContainer container = defaultContainer;
//registering Unity for web API
GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container);
//registering Unity for MVC
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
container.RegisterType<IDal<ClientService.DAL.EntityFramework.MamConfiguration>, MamConfigurationDal>();
container.RegisterType<IApplicationLogger, Log4NetLogger>();
if (!isInitialize)
{
isInitialize = true;
}
}
}
}
}
広告は、次の例外を取得
これは 'GlobalConfiguration.Configuration.DependencyResolver = new Unity.WebApi.UnityDependencyResolver(container);'それは動作しませんでした –
あなたはどんなエラーがありましたか?次のブログ記事を見てください:http://netmvc.blogspot.com/2012/04/dependency-injection-in-aspnet-mvc-4.html –
私は次のように書いています: 'GlobalConfiguration.Configuration.DependencyResolver = new Unity .WebApi.UnityDependencyResolver(container); ' 同じエラー:' Unity.WebApi.UnityDependencyResolver型は、Microsoft.Practices.ServiceLocation.IServiceLocatorを実装するようには見えません。 パラメータ名:commonServiceLocator' –