是否可以强制使用WcfSvcHost(在我执行F5时自动执行或在解决方案中调试其他项目时)使用自定义ustom服务?
我的自定义服务主机通过使用服务工厂在我的asp.net主机容器中运行良好,服务工厂又调用自定义服务基础。
但是当WcfSvcHost执行它时,它不使用我的自定义ustom服务。
这可能吗?
如果没有,我的替代方案是什么?我认为我必须取消选中“在另一个解决方案中调试项目时启动WCF服务主机”,这是在应用程序属性的WCF选项中,但我必须创建一个控制台主机容器吗?
每次我调试其他东西时,我都无法让控制台主机容器自动执行?
我在app属性中的DEBUG下注意到这一点(也许我可以使用类似的东西来强制加载自定义服务主机)
/client:"WcfTestClient.exe"
问题是我的自定义ServiceHost注入了一些UNITY(IOC)的东西,这里是覆盖方法......所以它必须执行,否则它会失败。
protected override void InitializeRuntime()
{
Bootstrapper.ConfigureUnityContainer();
base.InitializeRuntime();
}
答案 0 :(得分:3)
我正在尝试完全相同的目的(; - )
我以为我找到了一个解决方案,不再使用物理.svc文件(在IIS中托管时包含自定义主机工厂),而是将此信息移到.config文件中:
<serviceHostingEnvironment aspNetCompatibilityEnabled="false">
<serviceActivations>
<add relativeAddress="~/Services/NaisTime/NaisTimeService.svc" service="Nais.Time.Services.NaisTime.NaisTimeService"
factory="Nais.Time.Services.NaisServiceHost.NaisServiceHostFactory, Nais.Time.Services" />
<add relativeAddress="~/Services/Northwind/NorthwindService.svc" service="Nais.Time.Services.Northwind.NorthwindService"
factory="Nais.Time.Services.NaisServiceHost.NaisServiceHostFactory, Nais.Time.Services" />
</serviceActivations>
</serviceHostingEnvironment>
它适用于IIS,但在我的服务库项目的app.config文件中放入相同的条目并不会使SvcWcfHost使用它。
我想我没有得到我的relativeAddress。
有人有这方面的经验吗?
KR, Michel Liesmons。
答案 1 :(得分:1)
我认为你不能这样做 - 你需要在IIS中托管或创建自己的定制服务主机。