0
내가 unity.config에서 연합 구성을 정의유니티 컨테이너를 유니티 구성에서 컨트롤러로 정의하는 방법은 무엇입니까?
MVC 응용 프로그램에서 사용되는 Microsoft 단결 구성하려고 :
protected void Application_Start()
{
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
UnityConfig.RegisterComponents();
}
지금 :
public static class UnityConfig
{
public static void RegisterComponents()
{
var container = new UnityContainer();
container.RegisterType<IAccessLogBLL, AccessLogBLL>();
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
}
}
내가 Global.asax에에서 그 구성이 전화를 그 컨테이너를 정의하기 전에 컨트롤러에서 메소드를 호출하여 올바르게 작동하지만 unity.config에 정의 된 컨테이너를 어떻게 사용할 수 있습니까? "getContainer"메서드가 있습니까? 아니면 유니티 컨테이너에 대한 전역 변수를 선언해야합니까? 영어
이러한 접근은 괜찮지 만, 나는 ([엽기] (https://msdn.microsoft.com/en-us/library/dd642331을 사용합니다 v = .110) .aspx)를 사용하여 스레드 안전을 보장합니다. 예를 들면 :'개인 정적 게으른 컨테이너 = 새로운 게으른 (() => { VAR 컨테이너 = 새로운 UnityContainer(); /* 여기에 */ 리턴 용기를 당신의 유형을 등록, 을}) ; –
strangecat
그런 다음 적절한 [스레드 안전 모드]를 선택할 수 있습니다 (https://msdn.microsoft.com/en-us/library/system.threading.lazythreadsafetymode (v = vs.110) .aspx) – strangecat
감사합니다. 조언을 확인할 것입니다. – Mikelon85