通过MSMQ Simple Injector Lifestyle自助托管WCF

时间:2015-02-18 15:48:21

标签: vb.net wcf dependency-injection msmq simple-injector

我正在使用WCF(自托管)使用MSMQ绑定,并希望使用Per WCF request lifestyle with SimpleInjector。我将代码设置为:

Dim httpLifecycle = New SimpleInjector.Integration.Wcf.WcfOperationLifestyle(True)
container.Register(of ISomeType, SomeType)(httpLifecycle)

在MSMQ上,这不起作用,因为我收到错误:

  

Web服务主机的依赖项解析程序失败   initialize:SimpleInjector.ActivationException:已注册   ILoader类型的委托引发了异常。 ISomeType是   注册为'WCF Operation'生活方式,但请求实例   在WCF操作的上下文之外。

WCF是否有办法要求生活方式与MSMQ合作?

1 个答案:

答案 0 :(得分:0)

我最终使用了每个执行范围,并在WCF服务操作本身中定义了该范围。通过这种方式确定范围,它确保了我希望它们打开和关闭依赖关系。

我需要加入execution context scoping