2

MVC 응용 프로그램에서 MVC Contrib Localization을 사용하려고합니다. 현재는 리소스 파일을 사용하고 있지만 SQL Server와 함께 사용하고 싶습니다.Ninject와 함께 griffin.mvccontrib.localization을 사용하는 방법

나는이 튜토리얼을 확인하고 있습니다 : http://www.codeproject.com/Articles/352583/Localization-in-ASP-NET-MVC-with-Griffin-MvcContri

을하지만 사람이 Ninject에 함께 사용했을 않습니다, 나는 이해하지 않는 IoC 컨테이너로 Autofac를 사용? 또는이 Autofac 코드를 Ninject로 변환하는 방법을 아는 사람도 있습니다.

// Loads strings from repositories. 
builder.RegisterType<RepositoryStringProvider>().AsImplementedInterfaces().InstancePerLifetimeScope(); 
builder.RegisterType<ViewLocalizer>().AsImplementedInterfaces().InstancePerLifetimeScope(); 

// Connection factory used by the SQL providers. 
builder.RegisterInstance(new AdoNetConnectionFactory("DemoDb")).AsSelf(); 
builder.RegisterType<LocalizationDbContext>().AsImplementedInterfaces().InstancePerLifetimeScope(); 

// and the repositories 
builder.RegisterType<SqlLocalizedTypesRepository>().AsImplementedInterfaces().InstancePerLifetimeScope(); 
builder.RegisterType<SqlLocalizedViewsRepository>().AsImplementedInterfaces().InstancePerLifetimeScope(); 

감사합니다.

답변

0

Ninject.Web.MVC NuGet 패키지를 사용하여 지금도 동일한 작업을 수행하려고합니다.

Ninject가 .AsImplementedInterfaces()과 비슷한 것을 가지고 있는지 확신 할 수는 없지만 직접 인터페이스를 바인딩 할 수는 있습니다. Griffin.MvcContrib의 클래스와 구현하는 인터페이스를 살펴 보는 것만으로도 인터페이스를 바인딩 할 수 있습니다. NinjectWebCommon RegisterServices 방법에 넣어

한 예는 다음과 같습니다

private static void RegisterServices(IKernel kernel) 
{ 
    kernel.Bind<ILocalizedStringProvider>() 
      .To<RepositoryStringProvider>().InRequestScope(); 
... 
} 

InRequestScope 확장 (https://github.com/ninject/Ninject.Web.Common/wiki/Inrequestscope)이, 내가 지금까지 읽은 내용에서, 나는 AutoFac .InstancePerLifetimeScope()http://code.google.com/p/autofac/wiki/InstanceScope

에 볼 수있는 가장 가까운 .RegisterInstance(new AdoNetConnectionFactory("DemoDb")).AsSelf();

에 관해서는

는 Ninject에의 .ToSelf() 방법이있다 그러나 나는이 줄 도이가 무엇인지 완전히 확실하지 않다 아직 나 자신.

관련 문제