2011-03-03 2 views
1

저는 namedpipe wcf 서비스 (WCF 4)를 통해 다른 프로세스 (이 경우 서버)와 통신하는 웹 응용 프로그램 (이 경우 클라이언트)을 구축하고 있습니다.WCF NamedPipe : PerSession-Single 또는 Singleton-Multiple

많은 기사를 읽은 후 나는 서버에 연결된 프록시 풀을 만들려고 생각했다. (나는 더 나은 성능을 제공한다) 라운드 로빈에 사용되었다.

각 호출은 서버에서 매우 짧을 것입니다. 몇 가지 개체에서 간단한 속성을 읽고 쓰는 것이 필요하지만이 개체는 공유되어 있으므로 어떤 경우에도 잠금을 사용해야합니다. 매우 높은 동시성이 기대됩니다.

풀을 사용하면 클라이언트가 항상 N 세션을 서버와 연동하게됩니다.

PerSession-Single 또는 SingleInstance-Multiple 사이의 InstanceContext-ConcurrencyMode에 가장 적합한 설정이 무엇인지 궁금합니다.

고맙습니다.

답변

0

내 의견 : 프록시의 사용자 지정 풀을 사용하지 마십시오. 내장형 pooling of connections을 사용하십시오. 미리 정의 된 바인딩에서 connectionPooling을 완전히 제어 할 수는 없지만 namedPipeTransport을 사용하면 customBinding에서 모든 권한을 가질 수 있습니다.

클라이언트의 구현 관점 - 각 클라이언트의 요청에 대해 새 프록시를 사용하십시오. 요청간에 프록시를 공유하지 마십시오.

+0

고맙습니다. 내장 풀이 있다는 것을 몰랐습니다. 거의 읽지 않았 음을 거의 확신했습니다. 이것은 나에게 약간의 개발 시간과 문제를 덜어 줄 것이다. Single Instance Multithreaded 서비스를 사용하는 것이 더 좋을 것이라고 생각하십니까? – SkyG

+0

귀하의 설명에 기본 난 당신이 여러 개의 동시성 모드와 싱글 톤 인스턴스를 사용할 수 있다고 생각합니다. 너는 어쨌든 자물쇠를 다뤄야 할 것이다. –

관련 문제