2011-01-14 4 views
0

Ich habe gehört, dass, wenn eine Anfrage vom Browser (Client) zu IIS geht, nach Erweiterung Filterung (aspnet_isapi.dll) mehrere named pipe connections zwischen der ISAPI-DLL und der worker process(w3wp.exe) hergestellt werden.ASP.net Anfrage Verarbeitung

Wie heißen diese Rohre? Werden diese Pipes als ein Kommunikationskanal fungieren, wie wir ihn mit WCF haben?

Antwort

1

Sie finden here a superb explanation by Rick Strahl of how ASP.NET works, und ja, Named Pipes werden in IIS5 für die Kommunikation zwischen der ISAPI-DLL im inetinfo-Prozess und dem Arbeitsprozess verwendet, aber in IIS6 ist dies nicht mehr notwendig, da die unterste Ebene des HTTP-Stacks war an den Kernel-Treiber HTTP.SYS übergeben, der die Anforderungen direkt an den Arbeitsprozess weiterleitet.

Named Pipes sind Objekte, die vom Betriebssystemkernel verwaltet werden, für den es eine bestimmte Win32-API gibt. WCF-Named-Pipe-Bindungen sind darüber hinaus aufgebaut, beinhalten jedoch viel mehr als den Roh-Pipe-Transport. Selbst in IIS5, wo Named Pipes für ASP.NET verwendet werden, werden diese nicht in der gleichen Weise verwendet wie WCF sie verwendet. Daher gibt es keinen Grund, sie in irgendeiner Weise als verbunden oder analog zu betrachten. Die Typen im System.IO.Pipes-Namespace sind ein näherer Vergleich, da sie viel dünnere Wrapper über die OS-Pipe-API sind.

0

Dies ist nur eine binäre Pipe, eine der Standardmethoden zur Kommunikation zwischen Prozessen in Windows (die anderen sind gemeinsam genutzter Speicher und com + iirc). Sie können natürlich mehrere Worker-Prozesse haben, daher bin ich mir nicht sicher, ob es einen einzigen Namen für die Pipe gibt. Und ich bezweifle stark, dass dies irgendeine Art von .net serialisierten Daten verwendet - nicht sicher darüber.

Verwandte Themen