In a previous blog entry, I wrote about exposing wcf port without IIS. But now when I use IIS and when I don’t use it ?
Actually, when I use IIS I’ve got a new technic layer and increase the resource used.
If we read the MSDN we can see :
Benefits of IIS Hosting
Hosting WCF services in IIS has several benefits:
- WCF services hosted in IIS are deployed and managed like any other type of IIS application, including ASP.NET applications and ASMX.
- IIS provides process activation, health management, and recycling capabilities to increase the reliability of hosted applications.
- Like ASP.NET, WCF services hosted in ASP.NET can take advantage of the ASP.NET shared hosting model where multiple applications reside in a common worker process for improved server density and scalability.
- WCF services hosted in IIS use the same dynamic compilation model as ASP.NET 2.0, which simplifies development and deployment of hosted services.
Those advantages are nearly useless with BizTalk
One powerful way in IIS is that you can manage the resource for each AppPool (Worker process…), IIS allow you to manage security and load easily.
With those ascertainments, I can determine 3 cases
- First one, WCF service with activity only in intranet I think it’s not necessary to use IIS when you expose a WCF. Removing IIS frees one layer to manage so you have a gain in resource and time.
- Second one, WCF service with lot of activity and stress(more than 10 calls per minut) I think you can use IIS but it’s not necessary, use it for load management and number of worker process
- Third one, when you expose a WCF on World Wild, you need to use IIS, because it represent a gateway between the world and your bizTalk. IIS can resist of an attack ( Never expose BizTalk of the entire world!!).