问题标签 [tinyioc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Nancy 和/或 TinyIoC 不尊重 AsSingleton()
设置:我有一个几乎开箱即用的 Nancy + TinyIoC 设置,运行一个运行良好的 web 服务。它取决于各种(AsSingleton)服务类。但是这些不是作为单例注入的,每次都会创建一个新实例。
我已经按如下方式设置了 Nancy 引导程序:
.net - 使用 Nancy + TinyIoC 通过 Quartz JobFactory 注入依赖
所以我使用 Nancy + TinyIoC 来运行一个小型网络服务。这行得通。现在我需要创建一个 Quartz 作业,它需要一些相同的依赖项,理想情况下我想使用 Nancy 的 TinyIoC 来注入这些,如Quartz Tutorial中所述。
我发现了一个使用 Windsor 的示例,他们在其中直接访问 IoC 容器,但根据此处提出的类似问题,在 Nancy 看来,这是粗略且不必要的。
那么我的问题必须是,这样做的正确方法是什么?我的 JobFactory 的代码如下所示:
但这不会返回具有正确注入实例的作业,而是返回具有依赖项的新实例的作业。(应该是单例,这让我相信 TinyIoCContainer.Current 返回的 TinyIoCContainer 与 Nancy 使用的容器不同)。
更新
我正在通过 Nancy Bootstrapper 设置 IoC 容器:
c# - 为 NancyFX 正确注册 DataContext
我正在为 API 项目使用 NancyFX 和 Highway.Data + Entity Framework。我的模块依赖于存储库,该存储库依赖于 DataContext。我需要注册 DataContext 并包含来自 web.config 的连接字符串,所以我有这个:
这设置了注册,因此它使用我的 web.config 连接字符串,但也使用自动注册已经注册的任何 IMappingConfiguration。
但它看起来像是将其注册为单例而不是每个网络请求。这意味着数据在 Web 请求之间被缓存,这不是我想要的。
我尝试将 .AsMultiInstance() 添加到上面的注册中,但在启动时出现错误:“无法将 TinyIoC.TinyIoCContainer+DelegateFactory 的当前注册转换为多实例”
谁能建议我如何正确注册?
.net - TinyIOC 构造函数注入
在 Tiny IOC 中,如何获得要解决的类型。例如日志记录:
我正在尝试添加工厂来构建 ILogger,但没有注入信息。
windows-7 - Nancy / TinyIoC“在我的机器上工作”问题
所以我有这个我在过去半年左右一直在开发的 webapp。最近我发现 NancyFx 在 nuget 上已经升级到 0.16 并且去升级(从 0.12)。在我的机器上一切都很顺利,或者说看起来很顺利。但是在 CI 机器上,事情却出奇地错误。我得到以下堆栈跟踪:
现在我已经将问题追踪到一个特定的模块,该模块需要 TinyIoC 需要为其处理创建的大量参数,如果我禁用该模块,Nancy 可以正常启动,但当然没有必要的功能。在我的机器上它完美无缺。两者之间唯一明显的区别是我的机器运行的是 Windows 7,而 CI 运行的是 Windows Server 2008 R2 Enterprise SP1。有没有其他人有过这样的事情发生的经验?它快把我逼疯了。
c# - 如何使用 TinyIOC 注册通用接口
假设我有一个通用接口和一个通用实现。如何注册所有用途?
具体来说,我有以下内容(为简单起见减少了):
我是否需要一一注册所有实现,如下所示:
还是有更短的方法?
c# - NancyFx 和 TinyIoC 为模块提供单个实例
我有一个相当简单的问题。我将 Nancy 与 Windows 窗体一起使用(通过构造函数(autoresolve)传递)。如果我让 nancy 自动解析每个模块,它会创建一个新的表单实例,这不是我想要的。我想也许我可以在 TinyIoC 中注册我的表单实例,然后它总是只使用这个实例而不是每次都创建一个新实例。但事实证明,实现起来并不像这个想法那么简单。
提前致谢
c# - TinyIOC 和多个用户指定的工厂类型
我目前正在尝试使用 TinyIOC 连接自定义ReactiveUI IMutableDependencyResolver。而且我正在为 ReactiveUI 想要向用户指定的工厂注册多个接口实现这一事实而苦苦挣扎。TinyIOC 似乎不支持。
每次再次调用 register 时,我的实现似乎都会覆盖以前的注册。有什么建议么?
dependency-injection - TinyIoC 返回相同的实例
我是依赖注入模式的新手,我在从容器中获取类的新实例时遇到问题。在 tinyioc 中解析它只是不断返回相同的实例而不是新实例。现在看代码
派生类目前是一个虚拟的,但在这里
现在因为这是一个外部库,所以我有一个面向类来访问所有内容
但是测试失败了,因为 Hadrian 类的 GetNewZone() 方法不断返回相同的实例。
测试代码
我知道这可能是我在模式中缺少的一些简单的东西,但我不确定,任何帮助将不胜感激。