问题标签 [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.

0 投票
1 回答
2294 浏览

ios - TinyIoC、Xamarin.iOS、链接器设置

我正在尝试让 TinyIoC 在 Xamarin.iOS 上运行,但我运气不佳。我的项目链接器设置设置为“仅链接 SDK 程序集”。

我实际上是在做这么简单的事情:

然后我的注册码看起来像这样(我刚刚将它放在我的 AppDelegate 中的一个玩具应用程序中):

当我尝试抓取一个 IPerson 时,我得到一个运行时异常,说 IPerson 无法解析(此代码在玩具应用的 AppDelegate 中的注册码之后立即找到):

这是错误:

但是,如果我将链接器设置更改为“不链接”,则一切正常。然而,这显然是站不住脚的,因为二进制文件变得巨大。

我尝试在 IPerson 接口和 Person 类上放置 [Preserve] 属性,但没有骰子。我还尝试手动声明一个 IPerson 类型的变量并使用 new Person() 对其进行实例化,然后获取 age 属性,以确保该类型包含在构建中,但也没有运气。

感觉好像我在这里遗漏了一些东西 - 有人可以指出我正确的方向吗?

谢谢!

0 投票
2 回答
2241 浏览

android - 在 Xamarin.Android 中使用 TinyIoC

我有点厌倦了在我继承的 Xamarin.Android 应用程序中发现的硬引用 - 引用操作的操作、回调中发生的古怪事情等。所以我决定在 TinyIoC 中注册操作并在需要时解决它们。

这有点工作了一段时间,直到我开始注意到发生了奇怪的事情。如果应用程序长时间单独放置,应用程序会崩溃 - 查看日志,这是因为 I-oC 无法解决其中一个操作 - 在应用程序长时间放置之前它可能会崩溃。

这上面写满了 GC——如果你问我的话。GC 显然没有将 IoC 中的项目视为参考并处理它们。

这是其他人遇到的吗?如果是这样,你是如何克服这个问题的?

0 投票
1 回答
2002 浏览

c# - AsPerRequestSingleton() 注册使用带有 TinyIOC 容器的 Factory 方法

我正在研究用于 ASP.NET MVC 应用程序的 TinyIOC。

我想要做的是使用工厂方法将一些接口注册为每个请求的单例。

上面的代码给了我Cannot convert current registration of TinyIoC.TinyIoCContainer+DelegateFactory to singleton。有没有办法在不使用 ChildContainers 的情况下使用 TinyIOC 实现这一点?

0 投票
1 回答
2923 浏览

xamarin.ios - TinyIoC.TinyIoCResolutionException:无法解析类型:在 ipad 部署上

我得到 TinyIOC 无法解决类型异常。我已经使用 Xamarin studio for ipad 开发了我的应用程序。在模拟器中它工作正常。但是在部署 ipad 时,我遇到了错误。

TinyIoC.TinyIoCResolutionException:无法解析类型:IOSLoginViewModel ---> System.Exception:无法解析类型:IOSLoginViewModel ---> System.Exception:无法解析类型:

上面的方法在模拟器上返回值,但对于 ipad,它给出了 null。

我使用的代码行是

IOS 构建选项我已经尝试了所有,链接 - SDK,全部,没有但仍然相同的错误。

0 投票
0 回答
626 浏览

c# - 单元测试南希

我有两个测试不同 Nancy 模块的单元测试项目。这两个项目都创建了一个虚假的引导程序,如下所示:

我遇到的问题是当我单独运行测试时,它们工作正常。当我一起运行它们时,似乎加载了一组模块,然后通过了一组或另一组单元测试,具体取决于加载模块的顺序。

这似乎只发生在 MS 测试运行中。我正在使用 NCrunch(另一个单元测试运行框架),它似乎在那里工作。

所以,我猜这里的问题是 TinyIoC 或 Nancy 没有在测试程序集之间完全刷新,或者因为我使用 DefaultNancyBootstrapper 并且单元测试都编译到同一个 bin 文件夹中,它会自动发现其他库中的模块不应该为正在运行的测试加载(即使它们没有被单元测试项目引用。)

以前有人遇到过这样的事情吗?

0 投票
1 回答
2070 浏览

signalr - 如何在 NancyFx 中使用 TinyIocContainer 为信号器集线器注册依赖项

我对 NancyFx 和 TinyIoc 有点陌生,但这里是:

我已经能够在 NanxyFx 中使用 TinyIocContainer 的自动注册来在 Nancy 模块中注入依赖项,这非常简洁,一切都很好并且可以正常工作。

但是,您如何为如下所示的信号器集线器注册依赖项?

我不断收到来自信号器的经典错误消息:

我的设置:

我有一个 SignalR 集线器:

这是我的依赖:

我创建了一个 CustomBootstrapper 类:

我有一个启动类:

如果我有一个 ChatHub 的无参数构造函数并使用可怜的 mans Ioc,那么一切正常。

我很确定我错过了一些东西。

有任何想法吗?

0 投票
3 回答
3403 浏览

nancy - 注册特定的模块构造函数

我想将不同的字符串注入到我的每个模块的构造函数中。我注册了一个构造模块的工厂方法。然后我可以打电话container.Resolve<T>(),一切都很好。出于某种原因,当 Nancy 尝试解析我的模块时,它会抛出错误

Nancy.TinyIoc.TinyIoCResolutionException:无法解析类型:Plugin.HomeModule ---> Nancy.TinyIoc.TinyIoCResolutionException:无法解析类型:System.String

我也尝试过ConfigureRequestContainer()以相同的结果进行注册。我也试过container.Register<HomeModule>(new HomeModule("some text"));AsSingleton()。我可以使用 将实现注册到字符串类型container.Register<string>("text"),但这会将相同的字符串注入所有模块。

如何注册模块构造函数以便 Nancy 可以解决它?

0 投票
0 回答
58 浏览

ravendb - RavenDB 客户端库升级后的 Nancy TinyIoC 错误

将 RavenDB 客户端库从 2.5.2666 升级到 2.5.2851 后出现此错误

似乎从堆栈跟踪中中断了第 3065 行,但我不确定为什么:

TinyIoC 设置为自动扫描所有依赖项:

如果我把调用 base 的那条线去掉,那么应用程序会再次开始工作,但后来在我没有注册特定依赖项的地方摔倒了,所以我宁愿让它继续自动扫描,然后找到这个错误的底部.

有任何想法吗?

0 投票
1 回答
547 浏览

mvvmcross - MvvmCross 自定义 IoC 集成中断插件注册

我正在尝试将 TinyIoc 与 MvvmCross 集成。我按照 https://github.com/MvvmCross/MvvmCross/wiki/Customising-using-App-and-Setup#sharing-the-ioc-container-that-mvvmcross-uses的说明进行操作

并创建了一个适配器

实现所有方法并将其转发到 TinyIoC 容器。这是非常直接的,我只需要实现一些额外的代码来在订阅某些内容时触发回调

我更改了 Setup.cs

这一切都很好。我可以看到在 TinyIoc 上调用了寄存器,事情也得到了解决。

插件不起作用。我们正在使用 Messenger 插件和 TinyIoC 集成,当一个 ViewModel 被解析并注入 IMvxMessenger ctor 时,无法解析 IMvxMessenger。我可以看到 MessengerPluginBootstrap 是由 Mvx 创建的,但我看不到注册 IMvxMessenger 的调用。

有人知道我做错了什么吗?

0 投票
1 回答
166 浏览

azure - TinyIOC 没有在不同的调试运行中注册相同的类型,使用 Azure 模拟器的 web api 项目

这让我抓狂......我有一个 Web API 项目。我有一个奇怪的行为。我在调试器中运行它并使用 fiddler 来访问一个方法。发生的事情是,API 在构建后第一次在调试中运行时运行良好。但我第二次得到500。我已将问题归结为 TinyIOC 能够在第一次调试运行时自动注册 74 种类型,而在第二次运行时只有 13 种。我没有做任何改变。我构建,我开始调试它的工作原理。我停止调试,再次开始调试,但它没有。错误是它无法创建我的控制器,没有默认构造函数,这是由 TinyIOC 未注册类型引起的。但我不知道为什么。我只能假设 TinyIOC 可以看到的程序集在不同的运行中是不同的。但是如何?为什么?我难住了。

它是一个 Windows azure 云服务,运行在带有 Azure 仿真的 IIS express 上。. 有没有人反对过这个?