ASP.net Обработка запросов - PullRequest
0 голосов
/ 14 января 2011

Я слышал, что когда запрос переходит из браузера (клиента) в IIS, после фильтрации расширений (aspnet_isapi.dll) несколько named pipe connections установлены между ISAPI DLL и worker process(w3wp.exe).

Как называются эти трубы? будут ли эти каналы действовать как канал связи, подобный тому, который мы имеем с WCF?

Ответы [ 2 ]

1 голос
/ 14 января 2011

Здесь вы найдете превосходное объяснение Рика Стрэла о том, как работает ASP.NET , и да, именованные каналы используются в IIS5 для связи между DLL ISAPI в процессе inetinfo и рабочим процессом но в IIS6 это больше не требуется, так как самый низкий уровень стека HTTP был передан драйверу ядра HTTP.SYS, который передает запросы непосредственно рабочему процессу.

Именованные каналы - это объекты, управляемые ядром операционной системы, для которых существует специальный Win32 API. Над ними построены привязки именованных каналов WCF, но они намного более многослойны поверх транспортировки необработанных труб. Даже в IIS5, где именованные каналы используются для ASP.NET, они не используются так же, как их использует WCF, поэтому нет оснований думать о них как о связанных или аналогичных. Типы в пространстве имен System.IO.Pipes - это более близкое сравнение, поскольку они намного тоньше оболочек по сравнению с API канала ОС.

0 голосов
/ 14 января 2011

Это просто бинарный канал, один из стандартных способов взаимодействия между процессами в Windows (другие - это совместно используемая память и com + iirc). Очевидно, что у вас может быть несколько рабочих процессов, поэтому я не уверен, что есть одно имя для канала. И я очень сомневаюсь, что это использует любые сериализованные данные .net - не уверен в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...