2009-07-04 4 views
0

(N) 최대 절전 모드에서 세션을 가장 잘 사용하는 방법을 알아 내려고하고 있습니다. ASP.NET 클라이언트에서 소비하는 C# remoting 개체 (MarshalByRefObject)가 있습니다. 현재 리모콘 클래스는 생성자에서 하나의 Session 인스턴스를 열고 모든 트랜잭션에이 인스턴스를 사용합니다. 이것은 좋은 생각입니까? 그리고 session.Dipose()가 호출되는 원격 객체에 finalizer가 필요합니까?최대 절전 모드 세션/트랜잭션 디자인

각 클라이언트 요청이 새 트랜잭션을 엽니 다. 이제 데이터베이스 액세스는 일반적으로 다음과 같이 보입니다.

그런 다음 자주 검색된 데이터베이스 개체를 클라이언트에 반환합니다. 이것을 처리하는 올바른 방법입니까? using 블록에서 트랜잭션 객체를 사용하거나 Dispose()를 호출해야합니까? 롤백 후 session.Flush()가 필요합니까?

또한 때때로 반환 된 컬렉션을 GridView에 바인딩 할 때 문제가 있습니다. 특정 객체의 바인딩 속성이 유효하지 않다는 예외를 던집니다. 이것은 절전 모드에서 프록시 객체를 반환하는 것과 관련이 있습니까? 그리고 왜 하나의 쿼리 내에서 "실제"객체와 프록시 객체가 혼합되어 수집 된 객체가 최대 절전 모드로 전환됩니까?

감사합니다.

답변