|
|
1
1
您的服务是否设置为InstanceContextMode.Single?如果是,则wcf将使用默认构造函数创建服务。若要解决此问题,请更改实例上下文模式并让autofac管理服务的生存期。 |
|
|
2
0
尝试删除默认值
|
|
|
3
0
我刚得到相同的System.InvalidOperationException,并通过将实现的ServiceBehavior InstanceContextMode从InstanceContextMode.PerCall更改为InstanceContextMode.PerSession解决了它,也许您的AutoFac生存期范围与您的web服务实现不同步? 对于测试AutoFac服务创建,我建议创建一个单元测试并直接解决它们,因为这将突出显示任何问题并给出更有意义的异常消息。对于具有请求生存期作用域的服务,创建一个测试aspx页,然后再次直接解析它们。 |
|
4
0
我也有同样的问题,在寻找答案时遇到了这个问题。 在我的例子中,使用属性注入是可行的,并且问题中的代码已经有一个可以使用的属性:
并注册以使用属性注入(来自wiki的示例代码和语法已更改,因为现在使用的是版本2.5.2.830):
|
|
|
5
0
按照指示为我解决了这个问题: code.google.com/p/autofac/wiki/I简单地做:builder.RegisterType(); 我已经按照他们的指示修改了.svc文件。 当你查看你的.svc文件时,你没有得到任何关于出错的提示? 如果您通过iis托管它,而不使用WAS,我看不到您重写global.asax.cs的代码 将全局文件添加到解决方案中,然后在其中实现:
AutofacContainerBuilder是我的容器生成器。 |