2013-06-17 4 views
-1

많은 비교를 설명하는 SO에 대한 많은 질문이 있지만 다른 것을 고수하고 있습니다.싱글 톤 또는 싱글 콜 .Net Remoting

저는 DAL 메서드를 실행하는 클래스 DataAccess (연결 프록시를 보유하고 있기 때문에)을 가지고 있습니다. 지금까지는 좋다.

  1. DATAACESS 1 서버에서 데이터를 제공합니다 -이 :처럼 이제 우리는 주어진 조건이 데이터베이스에서 데이터를 결합하기로 결정했습니다

    , 그래서 기본적으로는되어야한다.
  2. DataAcess는 두 번째 서버의 데이터를 가져옵니다.
  3. 결과가 결합되어 표시됩니다.

를 ConnectionString은 DataAccess의 생성자에서 설정되고, 나는 그것이 SingleCall로 구성되어 있기 때문에이 서버 1에 얹혀 서버 2를 가리 키도록 내 연결 문자열을 변경하는 경우에도 DataAccess 이제, SingleCall로 구성되어 있습니다.

이것은 생성자가 DataAccess의 메서드 (삽입, 업데이트, 삭제, 선택 ...)에 액세스하려고 할 때마다 실행되기 때문에 발생합니다.

나는 Singleton을 사용하여이 문제를 해결할 수 있음을 알고 있지만 사람들이 옹호하는 SingleCall을 여러 곳에서 읽었습니다.

Singleton으로 만들면 발생할 수있는 문제에 대한 의견을 공유해주십시오. 다른 방법이나 디자인 패턴이 도움이 될 수 있습니다.

답변

0

Client-activated objects은 새 키워드를 사용하여 인스턴스를 만들 때 서버에 만들어집니다. 그러므로 나는 CAO가 현 상황에서 가장 잘 어울리는다고 믿는다.

더 좋은 방법을 제안 할 수 있다면 좋을 것입니다.