This is an example/walk-through of setting up a (contrived) service.
For my example, there is a service contract WindsorWCF.IMyService and a service called WindsorWCF.MyService. I've chosen to configure the service with a TCP endpoint in the app config as follows:
<system.serviceModel>
<services>
<service name="WindsorWCF.MyService">
<endpoint name ="IMyService_Endpoint" address="net.tcp://localhost:9876/MyService" binding="netTcpBinding" contract="WindsorWCF.IMyService" />
</service>
</services>
</system.serviceModel>
Next, add an Window config (XML) file to your service project, and add a component to it:
<configuration>
<components>
<component id="MyService" service="WindsorWCF.IMyService, WindsorWCF" type="WindsorWCF.MyService, WindsorWCF" />
</components>
</configuration>
In the service host application itself, I've added the following code (I used a console application when I wrote the code, but the idea is the same):
static void Main(string[] args)
{
InitWindsor();
var host = new DefaultServiceHostFactory().CreateServiceHost("MyService", new Uri[0]);
host.Open();
Console.ReadLine();
}
static IWindsorContainer Container { get; set; }
private static void InitWindsor ()
{
Container = new WindsorContainer().AddFacility<WcfFacility>().Install(Configuration.FromXmlFile("windsor.config"));
}
That's it for the example - I trust it makes sense.