gpt4 book ai didi

asp.net-mvc - Ninject MVC 与 WCF 扩展一起不适用于 InRequestScope

转载 作者:行者123 更新时间:2023-12-04 20:19:08 26 4
gpt4 key购买 nike

我已经让 Ninject MVC 与 Ninject WCF 一起工作以使其工作我在 CreateKernel 方法中添加了两行

kernel.Bind<ServiceHost>().To<NinjectServiceHost>();
KernelContainer.Kernel = kernel;

注入(inject)了依赖项,但没有调用 Dispose 方法,我已经尝试过使用 InRequestScope 并执行我自己的作用域 Func 返回 OperationContext.Current 作为 Scope 对象,但没有调用 dispose 。

2012 年 9 月 5 日更新
此信息已过时,对于从 Nuget Ninject.MV3 和 Ninject.Extensions.WCF (3.x) 下载 MVC 和 WCF,MVC Nuget 模板将添加 Ninject Bootstrap NinjectWebCommon.cs 并在 svc 中添加对 ninject 的支持 编辑 svc xml(右键单击/查看标记)并将 Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory"添加到 xml 节点

最佳答案

我无法回复 Remo 的答案,因为我是 stackoverflow n00b,但“System.Runtime.CompilerServices.ExtensionAttribute”异常的问题是它已从 .net 4.0 中的 System.Core 转移到 .net 4.5 中的 mscorlib。如果您安装 .net 4.5,问题就会消失。我认为某些东西是使用 .net 4.5 构建的。 https://github.com/ninject/Ninject.Web.Common/issues/3听起来它很快就会修复。
至于 Wcf InRequestScope 问题,Remo 今天在谷歌群组上给了我一些帮助......
“添加一个派生自“Ninject.GlobalKernelRegistrationModule”的新模块并将其加载到内核中。不过,这将在最终版本中得到修复。”

即类似...

public class MyModule : Ninject.GlobalKernelRegistrationModule<WcfRequestScopeCleanup>
{
}

//And where you load your modules...
kernel.Load<MyModule>();

关于asp.net-mvc - Ninject MVC 与 WCF 扩展一起不适用于 InRequestScope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8712682/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com