C# 如何让WCF设施急切地实例化服务而不是懒惰?(温莎城堡)

C# 如何让WCF设施急切地实例化服务而不是懒惰?(温莎城堡),c#,wcf,castle-windsor,ioc-container,windsor-facilities,C#,Wcf,Castle Windsor,Ioc Container,Windsor Facilities,我已向WindsorContainer注册了WCF服务,如下所示: var容器=新WindsorContainer; container.AddFacilityf=>f.CloseTimeout=TimeSpan.Zero; 集装箱。登记 组件。用于 .实施人 .NamedTestService .ASWCF服务; TestService对象在创建第一个WCF请求时实例化。 相反,我希望在需要时手动实例化它,如下所示: 容器。解决; 当用户从GUI中单击打开按钮时 在服务启动之前,客户端在连接时

我已向WindsorContainer注册了WCF服务,如下所示:

var容器=新WindsorContainer; container.AddFacilityf=>f.CloseTimeout=TimeSpan.Zero; 集装箱。登记 组件。用于 .实施人 .NamedTestService .ASWCF服务; TestService对象在创建第一个WCF请求时实例化。 相反,我希望在需要时手动实例化它,如下所示:

容器。解决; 当用户从GUI中单击打开按钮时

在服务启动之前,客户端在连接时只会出现错误


我怎样才能做到这一点呢?

请告诉我们你做了哪些尝试。根据我所知,我可以尝试的东西不多。我尝试像这样将参数传递给.AsWcfService.AsWcfServicenew DefaultServiceModel.openagely,但效果与以前相同。我使用命名管道作为传输机制。事实上,只要执行.AsWcfService,我就可以看到在系统上创建了命名管道,我使用sysinternals工具来查看,即使TestService对象没有实例化。只有在第一次调用WCF服务时,我才看到调用了TestService构造函数。这对我来说是不需要的行为,所以我可以改变它吗?假设这是自托管的-否则就没有GUI来打开服务。所以,在您准备好接收请求之前,不要开始监听call Open。