<p>I want to expose few web services but thinking of hosting those as Windows Service as against hosting in IIS.</p>

<p>Is it a good practice? </p>

<p>If yes? How do I make it secured? </p>

<p>I want to authenticate the users who are accessing it (against our custom security database and also want to make sure that the request is originating from our business partner (X.509 certificates???? not worked much with this).</p>

<p>appreciate your pointers in this regards.</p>

<p>Thanks &amp; Regards,
Ajay</p>

If you are using IIS6, using a Windows Service is a must for many scenarios. Windows Services are 100% supported and a 100% safe way to host WCF. You can secure them with the same options as in IIS.