기본 아키텍처 : 각각 동일한 WCF 서비스를 호스팅하는 n 개의 물리적 상자.로드 균형 조정기에 앉아 있습니다. 하지 지원 트랜잭션을 수행하는 하나의 데이터베이스 인프라를 치는 각 상자 - 내 응용 프로그램의 데이터 액세스 레이어에서 I는 분산 트랜잭션의 몇 가지 방법이 필요합니다, 그래서 :(WCF를 사용하는 분산 트랜잭션
을 요구하지 않는 내 옵션은 무엇입니까
.? 내 시스템에 클라이언트가 유산 될 것참고 기본 웹 서비스 (은 BasicHttpBinding)과 빛나는 새로운 WCF 클라이언트 (NetTcpBinding 또는 NetNamedPipeBinding)를 사용하여 통신 애플 리케이션.
편집 한
예. 물리적 박스 1상의 WCF 계층으로의 단일 호출이있을 것이다. EditEntity (...). 이 호출은 데이터베이스에 2 개의 쓰기를 트리거합니다. 첫 번째 쓰기 후에 다른 클라이언트는 두 번째 실제 상자에서 내 WCF 서비스의 두 번째 인스턴스에서 동일한 엔터티에 대해 EditEntity (...)를 호출합니다. 두 번째 상자에서이 특정 엔티티에 대한 트랜잭션이 이미 실행 중임을 어떻게 알 수 있습니까?
감사합니다.
감사합니다. 요약이 정확합니다. 문제는 WCF 티어가 여러 개의 상자에 걸쳐 분산됩니다 (즉, 수평 확장 됨). 내 질문을 업데이트했습니다. – ng5000
방법은 하나뿐입니다. 그러나 두 개의 서로 다른 클라이언트가 호출하고 각 요청은 다른 실제 상자에서 처리합니다. – ng5000
좋아, 나는 지금 더 나은 이해가 있다고 생각한다. EditEntity()에 대한 두 번 연속적인 호출이 트랜잭션을 완료하는 데 필요한 것처럼 들렸다. – jro