我正在使用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合作?
答案 0 :(得分:0)
我最终使用了每个执行范围,并在WCF服务操作本身中定义了该范围。通过这种方式确定范围,它确保了我希望它们打开和关闭依赖关系。