这是设置(人为的)服务的示例/演练。
对于我的示例,有一个服务合同 WindsorWCF.IMyService 和一个名为 WindsorWCF.MyService 的服务。我选择在应用程序配置中使用 TCP 端点配置服务,如下所示:
<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>
接下来,将一个 Window 配置 (XML) 文件添加到您的服务项目,并向其中添加一个组件:
<configuration>
<components>
<component id="MyService" service="WindsorWCF.IMyService, WindsorWCF" type="WindsorWCF.MyService, WindsorWCF" />
</components>
</configuration>
在服务宿主应用程序本身中,我添加了以下代码(我在编写代码时使用了控制台应用程序,但思路是一样的):
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"));
}
这就是示例 - 我相信它是有道理的。