11.07.2015 Views

y - Net Developer

y - Net Developer

y - Net Developer

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPTER 5 ■ HOSTING AND CONSUMING WCF SERVICES 167ramrameshreddy.blog.comWindows Server 2003 and IIS 6.0As of Windows Server 2003, Microsoft introduced the kernel mode HTTP stack calledHTTP.SYS. HTTP.SYS is plugged into the IIS 6.0 architecture through W3svc.exe. W3svc.exe is auser mode component that bridges the kernel mode implementation of HTTP.SYS and connectsthis to the process and configuration management system that was already there in IIS5.1. And as of IIS 6.0, the concept of application pools was more generalized. Although in IIS5.1 only managed (ASP.NET) applications could be hosted in separate application pools, in IIS6.0 all types of applications can be hosted in separate application pools. ASPNET_ISAPI.dll isstill responsible for starting application domains in the managed ASP.NET world. Figure 5-12illustrates the process model in IIS 6.0.SvcHost.exeW3svc.exeProcess andConfigurationManagerHTTP ListenerFigure 5-12. IIS 6.0 process model architectureTo host your services in IIS 6.0, please refer to Chapter 4.Hosting in IIS 7.0W3wp.exeASPNET_ISAPI.dllApplicationDomainsHTTP Protocol Stack (HTTP.SYS)User ModeKernel ModeIIS 7.0 has established another big evolution in the web server world. As you can see inFigure 5-13, two big changes were made. First, now protocol-specific listener adapters supportall four WCF transports, instead of only HTTP in IIS 6.0. In addition, a new operating systemservice is available called Windows Activation Services (WAS). Both W3svc.exe and WAS arerunning inside an operating system host called SvcHost.exe. To be able to use the power of theIIS 6.0 process model in conjunction with WCF, these changes were necessary. Why? you mayask. Well, WCF services also work in IIS 5.1 and IIS 6.0, so what benefits could you get bygeneralizing the process model and activation features in IIS? Simple—by generalizing theactivation concept to make it protocol agnostic, instead of being bound to HTTP, you expandthe activation features of the platform to basically all transports.ramrameshreddyramrameshreddy

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!