2011-11-29 2 views
0

성 윈저와 웹 요청 패턴을 사용하여 NHibernate 세션을 관리하고 있습니다.성 Windsor 및 MVC에서 웹 요청 당 세션 - 삭제시 참조 무결성 문제를 처리하는 방법

요청이 끝날 때 모든 커밋이 플러시되므로 삭제를 수행 할 때 (참조 무결성 문제가있는 경우) 현재 페이지에 적절한 참조 무결성 오류 메시지를 표시 할 수 없게됩니다.

다른 사용자가이 시나리오를 어떻게 관리하고 있는지는 확실치 않지만 모든 관련 문제를 현재보기의 작업에 표시합니다.

답변

1

일반적으로 이러한 종류의 문제는 유효성 검사 및 모델 계층에서 미리 파악해야합니다. 데이터베이스에 의존하여 잘못된 것이 있는지 알려주지 마십시오. DB가 그 마지막 수단입니다.

+0

오른쪽 녀석에서 ;-) 그럼 먼저 삭제할 수 있는지 확인하기 위해 검색어를 생각해보십시오. – Chev

+0

이 문제는 동시성 문제를 방지 할 수있는 유효성 검사가 아닙니다. 때로는 페이지를 표시하는 시간과 요청을받는 시간 사이에 요청을 무효화 할 변경 사항이 있습니다. 대부분의 낙관적 인 쿼리 기술을 사용하면 단일 쿼리에서 동시성 문제를 감지 할 수 있으므로 select를 사용하여 행을 잠근 다음 삭제할 필요가 없습니다. 이를 위해서는 쿼리를 실행하고 # 행의 영향을 감지 할 수 있어야합니다. – AaronLS

관련 문제