답변

2

좋아, 여기에 내가 끝내 준 것이다.
먼저 global.asax Application_Start 이벤트에서 SharedEngineProvider를 설정합니다.

protected void Application_Start(object sender, EventArgs e) 
{ 
    InitializeValidator(); 
} 

private void InitializeValidator() 
{ 
      NHibernateSharedEngineProvider provider = new NHibernateSharedEngineProvider(); 
      NHVConfigurationBase config = new NHVConfigurationBase(); 
      config.Properties[Environment.ApplyToDDL] = "true"; 
      config.Properties[Environment.AutoregisterListeners] = "true"; 
      config.Properties[Environment.ValidatorMode] = ValidatorMode.UseAttribute.ToString(); 
      config.Mappings.Add(new MappingConfiguration(Assembly.GetAssembly(typeof(User)).FullName, null)); 
      provider.GetEngine().Configure(config); 
      Environment.SharedEngineProvider = provider; 
} 

는 NH 세션을 시작 페이지 버로의 요청을 차단하기 때문에 나는 현재 NH 세션과 검증을 통합 할 PreInit 이벤트에 후크하기로 결정했다. 나는이 방법을 거기에 추가 한 사용자 지정 기본 페이지 (생각하는 좋은 방법)가 있습니다.

지금까지는 잘 작동하는 것 같습니다.

validatorEngine = Environment.SharedEngineProvider.GetEngine(); 
:

내가 사용하고 유효성 검사기 엔진에 대한 참조를 얻으려면