- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经为此苦苦思索了大约 8 个小时,而且我似乎找不到关于如何为 ninject 更改我的自定义 Bootstrap 的简单解释(最后一次处理代码回到 v2.x.x.x ) 到新的 v3.0.0.0 语法。
我目前有以下内容:
public class NinjectCustomBootStrapper : NinjectNancyBootstrapper
{
protected override Ninject.IKernel GetApplicationContainer()
{
return Program.MyContainer;
}
}
在分隔类中,并且:
public static IKernel MyContainer
{
get { return _myContainer ?? (_myContainer = CreateKernel()); }
set { _myContainer = value; }
}
private static IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Bind<CardMonitorService>().ToSelf().InSingletonScope();
return kernel;
}
在命令行应用程序中我的主程序“Program.c”中。
自从将 ninject 更新到 V3.0.0.0 后,我发现有一些重大更改。我承认我不经常使用 ninject(我通常使用 structuremap),这个项目使用的唯一原因是我最初没有编写它。
自从我升级了 Ninject 后,现在当应用程序启动时出现以下异常:
Method not found: 'Ninject.Syntax.IBindingWhenInNamedWithOrOnSyntax`1<!0>
Ninject.Syntax.IBindingToSyntax`1.ToConstant(!0)'.
经过大量的搜索和研究,我能找到的最接近的是:
http://sharpfellows.com/post/Ninject-Auto-registration-is-changing-in-version-3.aspx
虽然它为我指明了正确的方向,但仍然不是一个完整的解决方案,因为我没有使用自定义绑定(bind)生成器。
所以我的问题是这样的。
我如何重写上面的内容,以便我的项目再次运行,并且 WCF 服务在被调用时会在收到请求时将正确的单例绑定(bind)传递给它。回到 ninject 2 不是一个选项,因为其他依赖项在已添加的项目已强制进行 v3 升级,并且这些添加了已请求的新功能,因此我正在处理它。
作为引用,这是一个 .NET4 版本,在 NancyFX 上运行,自托管 WCF 设置为 Windows 服务,使用 Topshelf 提供 SCM 接口(interface)。
干杯
美女
附录,让事情更清楚一些
这是一个最初写在某个时候的现有项目,我被要求向该项目添加一些新功能。
作为添加这些新功能的一部分,我需要将正在使用的 Ninject 版本从早期版本升级到 V3.0.0.0,因为添加到项目的新依赖项需要更新版本的 Ninject。
在之前的 Ninject V2 下,我上面给出的代码运行良好,没有任何问题,因为项目已经添加了 Ninject V3,我现在得到如上所述的异常。
我无法返回到 Ninject 的早期版本,因为那将意味着无法添加我正在添加的新功能。
根据我迄今为止所做的研究,上面的 sharpfellows 链接是迄今为止我在 Internet 上设法找到的对我的问题最接近的解释。
我不经常使用 Ninject,所以我不知道 V2 和 V3 之间发生了什么变化(根据我的研究)是我的问题的原因。
我需要知道如何更改我在 V2 下编写的代码(如上所示),以便它在 V3 下工作。
最佳答案
MissingMethodException
通常是部署问题。您针对与部署不同的程序集进行编译。检查您是否部署了相同的版本和相同的构建。
关于ninject - V2 Ninject 绑定(bind)到 V3 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11049691/
有人在 monodroid 项目中使用 ninject 吗? 如果是这样,将不胜感激有关实现这一目标的任何指示/细节。 最佳答案 我还没有尝试在 Mono For Android 中使用 Ninjec
我找到了this article关于 Ninject 早期版本中的上下文变量。我的问题有两个方面。首先,如何使用 Ninject 2 获得这种行为?其次,上下文变量是否沿着请求链传递?例如,假设我想替
我有一个场景,只要一个对象上的方法返回 true,多个并发 Web 请求就应该重用一个对象。有问题的对象是线程安全的。 所以我需要当前范围内的对象来确定它是否仍在范围内。使用 Ninject 完成此任
我刚刚使用 Ninject 3 更新了我的应用程序。将 App_Start 中的文件从 NinjectMVC3 更改为 NinijectWebCommon.cs。移动了我的文件,更新了 DLLs..
我在 MVC4 应用程序中使用 Ninject 进行 DI 和 Ninject.MVC3 扩展,特别是版本 3.0.0.6。 阅读documentation在 Ninject 的 wiki 上,使用
如何绑定(bind)InitializerForXXX (非通用实现)到 IInitializer (通用接口(interface))使用 Ninject Conventions以便请求 IIniti
我正在开发一个框架扩展,它使用 Ninject 作为 IoC 容器来处理动态注入(inject),但是我在尝试解决如何实现这一点时遇到了一些麻烦。 我的框架的期望是您将传递 IModule(s)所以它
我确信这是一个愚蠢的问题,因为我假设答案是“当对象被 Ninject 实例化时”......但我想仔细检查...... 为了提供更多关于我为什么问这个问题的背景信息,我有一个实现 NinjectHtt
与其手动绑定(bind)每个类,不如推荐哪些方法和模式(如果有)来自动设置绑定(bind)? 例如,绝大多数绑定(bind)看起来像这样: Bind.To(); 一旦模块变大,您最终可能会得到 100
我试图找到一种将构造函数参数传递给子类的构造函数的方法。 这些对象是不可变的,所以我更喜欢使用构造函数参数。 我遇到的问题是 ConstructorArgument 不继承到子实例化,并且以下语句不可
我正在尝试为事件代理/消息代理的开发找到最新的 Ninject 扩展。 我至少可以找到 3 个:messagebroker , weakeventmessagebroker和 bbveventbrok
我有一个 WebApi 服务,我正在尝试使用 Ninject BindHttpFilter 添加身份验证。 使用 BindHttpFilter 允许我将身份验证过滤器绑定(bind)到特定属性。 Au
Autofac 自动为 Func 生成工厂;我什至可以传递参数。 public class MyClass { public MyClass(Func a, Func b) {
我有一个类需要为其类中的一个方法使用 IRepository。 理想情况下,我希望避免将这种依赖关系解析到类的构造函数中,因此我在 Ninject 中发现了方法级注入(inject),并且想知道这是如
我看到了枚举给定服务(类型)的绑定(bind)列表的方法,但我找不到返回已加载模块中绑定(bind)的所有内容列表的方法。我正在寻找类似Kernel::IEnumerable GetAllRegist
对于初学者,我正在使用这个模块: public class AutoMapperModule : NinjectModule { public override void Load()
我想知道 ninject 是否有可能拦截我类的私有(private)方法。我正在尝试进行一些 aop 编程以动态注入(inject)日志记录机制。 最佳答案 不幸的是,所有要拦截的方法都必须是virt
我是 Ninject 的新手,正在努力让这个测试通过。 (此测试通过 Autofac,但行为在 Ninject 中似乎有所不同)。 [Test] public void RegisterInstanc
我在一个小项目中使用过 Ninject,但现在正在将一个较大的 Web 应用程序转换为 mvc,并且需要有关使用 Ninject 的帮助。在新的解决方案中,我拥有 mvc 站点并将一些功能拆分到单独的
目前,我正在使用 ninject 执行以下绑定(bind)的命令模式: kernel.Bind>().To(); kernel.Bind>().To(); kernel.Bind>().To(); 我
我是一名优秀的程序员,十分优秀!