2011-04-27 3 views
3

ASP.NET 사이트에 대한 모든 Http 요청에 대한 몇 가지 기본 정보를 수집하는 HttpModule이 있습니다. 모듈은 외부 프로그램 (Windows 서비스 또는 콘솔 응용 프로그램)으로 추가 처리를 위해이 정보를 보내야합니다. 현재 ChannelFactory가있는 명명 된 파이프와 함께 WCF 서비스를 사용하고 있습니다. 나는 그것이 모두 훌륭하게, 완벽하게, 실제로 작동하는 것 같다.ASP.NET HttpModule에서 "named pipes"사용

HttpModule의 주요 요구 사항은 뛰어난 성능과 안정성입니다. 특히 HttpModule (로드가 많은 사이트)에서 이러한 프로세스 간 통신을 수행하는 더 좋은 방법이 있습니까? 잠재적 인 성능 문제/병목 현상이 있습니까? :)

당신은 어떻게 생각하십니까? 이 주제에 대한 독서에 대한 아이디어 나 참고 자료는 매우 높이 평가 될 것입니다.

미리 감사드립니다.

답변

2

Http Module과 데이터 서비스 간의 통신이 항상 동일한 컴퓨터에 있다고 가정합니다.

성능 : 네임드 파이프가 전송을 위해 공유 메모리를 사용하므로 이길 확률이 낮습니다. WCF는 프레이밍 프로토콜과 인코딩 스키마에 약간의 오버 헤드를 추가합니다. WCF 오버 헤드를 피하려면 System.IO.Pipes 형식을 사용하여 파이프를 통해 데이터를 원시로 전달할 수 있지만 많은 응용 프로그램에서는 추가 비용이 들지 않습니다. 노력. WCF를 고수하면 set the transport security mode to None as explained here입니다.

신뢰성 : 명명 된 파이프는 OS 커널에 의해 관리되는 개체이며 WCF는 특히 전송 보안이 비활성화 된 상태로 상당히 얇은 래퍼를 바인딩합니다. 안정성이 높습니다.

관련 문제