Ok, you problably have already read how to accomplish this from either the SDK docs or another blog.  I just wanted to add a little aside to the configuration of your IIS hosted service.  When you configure your service to run under the direct virtual path, i.e. http://servername/virdir/serviceName.svc, you can ignore the value of the address attribute under your endpoint definition since the address is relative.  However, I’ve been having a heck of a time trying to define multiple endpoints for the same service.  Take the following configuration layout:

<?xml version="1.0" encoding="utf-8" ?>
    <configuration> 
        <system.serviceModel> 
            <services> 
  <service serviceType="Lozanotek.Examples.Indigo.TestService"> 
   <endpoint address="" 
    bindingSectionName="basicProfileBinding" 
    contractType="Lozanotek.Examples.Indigo.ITestService" /> 
  </service> 
     </services> 
 </system.serviceModel> 
   </configuration> 

Pretty straight forward, huh? Well, if you define another endpoint, such as

<endpoint
 address="net.tcp://localhost:8080/TestServiceHost/TestService"
 bindingSectionName="netProfileTcpBinding"
 contractType="Lozanotek.Examples.Indigo.ITestService" />

ASP.NET does not approve.  I kept on getting the following exception:

The given key was not present in the dictionary.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.

I need to do a bit more of digging to figure out how needs to happen to enable multiple endpoints when hosted under IIS.  If the service is self-hosted (using ServiceHost), the error does not occur.

Just wanted to share this with you guys.