2011-01-14 6 views
0

요청이 브라우저 (클라이언트)에서 IIS로 이동하면 (aspnet_isapi.dll)의 필터링 후 ISAPI DLL과 worker process(w3wp.exe) 사이에 여러 개의 named pipe connections이 설정되었다고 들었습니다.ASP.net 요청 처리

해당 파이프의 이름은 무엇입니까? 그 파이프는 우리가 WCF와 가진 통신 채널처럼 작동할까요?

답변

1

here a superb explanation by Rick Strahl of how ASP.NET works을 찾을 수 있습니다. 예, 명명 된 파이프가 IIS5에서 inetinfo 프로세스와 작업자 프로세스 사이의 통신에 사용되지만 IIS6에서는 HTTP 스택의 가장 낮은 수준이 IIS6에서 더 이상 필요하지 않습니다. 요청을 작업자 프로세스에 직접 전달하는 커널 드라이버 HTTP.SYS로 전송됩니다.

명명 된 파이프는 특정 Win32 API가있는 운영 체제 커널에 의해 관리되는 개체입니다. WCF 명명 된 파이프 바인딩은 위에 포함되어 있지만 원시 파이프 전송 위에 많이 배치됩니다. ASP.NET에서 명명 된 파이프가 사용되는 IIS5에서도 WCF에서 명명 된 파이프를 사용하는 것과 같은 방식으로 사용되지 않으므로 어떤 식 으로든 연결되거나 유사한 것으로 간주 할 이유가 없습니다. System.IO.Pipes 네임 스페이스의 형식은 OS 파이프 API보다 훨씬 얇은 래퍼 인보다 가까운 비교 대상입니다.

0

이것은 단지 이진 파이프이며 Windows의 프로세스간에 통신하는 표준 방법 중 하나입니다 (나머지는 공유 메모리 및 com + iirc 임). 분명히 여러 작업자 프로세스를 가질 수 있으므로 파이프에 대해 하나의 단일 이름이 있는지 확실하지 않습니다. 그리고 나는 이것이 모든 종류의 .net 직렬화 된 데이터를 사용하고 있는지 의심 스럽습니다.