问题标签 [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 不使用已注册的实例
我注册了我的实例 ConfigureApplicationContainer:
Nancy 尝试创建 ParametersModule 时发生崩溃。看起来它正在尝试创建 ParameterGetSetEngine 的实例。为什么不使用我注册的实例??
c# - IDisposable 对象是否在使用 RequestContainer 的 Nancy 请求结束时被释放?
我正在将 DbContext 注册到TinyIoCContainer
传递ConfigureRequestContainer
给DefaultNancyBootstrapper
.
虽然这很好用,但我注意到Dispose
一旦请求完成,上下文中的方法就不会被调用。我希望 DbContext 在请求关闭连接后被处理(我们正在使用 SQLite)。
问:一次性实例是否真的在 TinyIoCContainer 中的请求结束时被丢弃?
引导程序
语境
更新
标记的答案最终是正确的。我基本上不得不做这样的事情:
.net-core - 访问 Nancy Startup 类中的注册对象
我正在南希写一个服务,我正在使用一些中间件来监控服务:
中间件配置为使用类中HealthCheck()
定义的函数Startup
:
SomeRepo
有一种HealthCheck()
查询数据库以确认它可用/响应的方法。但是如何注入SomeRepo
到Startup
类中,或者访问容器来解决SomeRepo
?
c# - TinyIoc 寄存器和多种类型的接口
我正在尝试IService
在TinyIoc
目前我有多个类继承自Iservice
例如AuthenticationService
,RestService
两者都继承自Service
实现的基类Iservice
我这样做的方式是这样的,分别注册每个服务。
因为他们都继承自有 Service : IService
没有办法在一个电话中注册两者,还是我必须单独注册每个服务?
c# - 使用泛型注册 TinyIoCContainer
我正在使用 .NET Nancy 的 TinyIoCContainer 进行依赖注入。我正在尝试通过泛型注册一个接口及其实现,如下所示:
这给了我以下例外:
无法注册类型 System.Type - 抽象类或接口不是 SingletonFactory 的有效实现类型。
这表明 SingletonFactory 不能使用泛型。我也尝试将类型注册为多实例:
我得到了同样的例外。
我能找到的最接近的问题是关于一个稍微不同的问题,通用接口: https ://github.com/NancyFx/Nancy/issues/2747和 https://github.com/grumpydev/TinyIoC/issues/ 8
有没有人能够做到(也许是通过反思?)。或者,是否有一个开箱即用的 IoC 容器支持它?
c# - 使用 TinyIoc 注册和解析 Func<>
我正在尝试向Func<string>
TinyIoc 注册一个:
以及依赖于它的构造函数的类型:
当我使用
一切都很好,但我无法注册第二个Func<string>
,因为它无法解决。我猜这很模棱两可。没有抛出错误,但注入的 Func 是错误的。我尝试添加名称,但没有成功。
TinyIoc 真的支持这个吗?还是我必须将我的函数包装到对象中?喜欢策略模式?
memory-leaks - DI 容器泄漏内存或 BenchmarksDotNet MemoryDiagnoser 提供不准确的测量?
介绍
我们正在尝试使用BenchmarksDotNet
.
为了简单起见,这里是一个简单的例子TestClass
:
我们正在通过以下 NUnit 测试实施基准测试netcoreapp2.0
:
测试输出包含以下摘要:
测试输出还包含所有Console.Write
输出,这证明0 B
这里意味着没有内存泄漏,而不是由于编译器优化而没有运行代码。
问题
当我们尝试TestClass
使用TinyIoC
容器解决时,混乱就开始了:
摘要表明 1.07 KB 被泄露。
Allocated
ResolveTestClass
值与来自 的调用次数成比例增加TestBenchmark1
,总结为
是
这表明要么TinyIoC
保留对每个已解析对象的引用(根据源代码,这似乎不是真的),要么BenchmarksDotNet
测量包括在标有[Benchmark]
属性的方法之外的一些额外内存分配。
两种情况下使用的配置:
顺便说一句,用TinyIoC
依赖Autofac
注入框架替换并没有太大改变这种情况。
问题
这是否意味着所有 DI 框架都必须为已解析的对象实现某种缓存?这是否意味着BenchmarksDotNet
在给定示例中以错误的方式使用?NUnit
首先使用和的组合来寻找内存泄漏是个好主意BenchmarksDotNet
吗?
nancy - 在 NancyFX 模块中注入一个对象
我试图在遗留应用程序中使用 Nancy 作为自托管,所以我试图尽可能少地改变。
我的 Nancy 的模块需要与先前构造的对象的实例交互,从 Nancy 的角度来看,它就像一个单例。我保证在 Nancy 服务器的整个生命周期中都会存在相同的实例。
我的问题是,如何在我的模块中使用这个实例?提前感谢您的任何帮助或参考。
c# - 使用 .net web api 和 tinyioc 解决依赖关系
我让 TinyIoc 在 .net web api 中愉快地运行。我只是尝试添加一个使用 System.Web.Http.HttpClient 的服务类。我在容器中显式注册了我的新类,但是突然之间,我在应用程序启动时遇到了一堆运行时错误——tiny 找不到一堆 System.Web.Http 类。这是第一个这样的错误......
这里是 global.asax 中的 Application_Start() 方法
这是我的 WebApiConfig 类中的 Register() 方法...
最后,我的 TinyIocDependencyResolver 在这里...
这对任何人都意味着什么?HttpClient,可能是导致我痛苦的添加,是显式实例化的,而不是通过 DI。为什么我应该得到不属于我的类的 DI 错误?所有项目的目标框架都是 .net 4.5。
xaml - 为什么我不能将依赖项注入 ContentPage?
请看下面的代码:
它按预期工作。现在说我想注入一个依赖:
在第二段代码中,我看到一个编译错误:“字典中不存在给定的键”。问题是什么?我已经注册了依赖关系。