问题标签 [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.
ios - TinyIoC、Xamarin.iOS、链接器设置
我正在尝试让 TinyIoC 在 Xamarin.iOS 上运行,但我运气不佳。我的项目链接器设置设置为“仅链接 SDK 程序集”。
我实际上是在做这么简单的事情:
然后我的注册码看起来像这样(我刚刚将它放在我的 AppDelegate 中的一个玩具应用程序中):
当我尝试抓取一个 IPerson 时,我得到一个运行时异常,说 IPerson 无法解析(此代码在玩具应用的 AppDelegate 中的注册码之后立即找到):
这是错误:
但是,如果我将链接器设置更改为“不链接”,则一切正常。然而,这显然是站不住脚的,因为二进制文件变得巨大。
我尝试在 IPerson 接口和 Person 类上放置 [Preserve] 属性,但没有骰子。我还尝试手动声明一个 IPerson 类型的变量并使用 new Person() 对其进行实例化,然后获取 age 属性,以确保该类型包含在构建中,但也没有运气。
感觉好像我在这里遗漏了一些东西 - 有人可以指出我正确的方向吗?
谢谢!
android - 在 Xamarin.Android 中使用 TinyIoC
我有点厌倦了在我继承的 Xamarin.Android 应用程序中发现的硬引用 - 引用操作的操作、回调中发生的古怪事情等。所以我决定在 TinyIoC 中注册操作并在需要时解决它们。
这有点工作了一段时间,直到我开始注意到发生了奇怪的事情。如果应用程序长时间单独放置,应用程序会崩溃 - 查看日志,这是因为 I-oC 无法解决其中一个操作 - 在应用程序长时间放置之前它可能会崩溃。
这上面写满了 GC——如果你问我的话。GC 显然没有将 IoC 中的项目视为参考并处理它们。
这是其他人遇到的吗?如果是这样,你是如何克服这个问题的?
c# - AsPerRequestSingleton() 注册使用带有 TinyIOC 容器的 Factory 方法
我正在研究用于 ASP.NET MVC 应用程序的 TinyIOC。
我想要做的是使用工厂方法将一些接口注册为每个请求的单例。
上面的代码给了我Cannot convert current registration of TinyIoC.TinyIoCContainer+DelegateFactory to singleton
。有没有办法在不使用 ChildContainers 的情况下使用 TinyIOC 实现这一点?
xamarin.ios - TinyIoC.TinyIoCResolutionException:无法解析类型:在 ipad 部署上
我得到 TinyIOC 无法解决类型异常。我已经使用 Xamarin studio for ipad 开发了我的应用程序。在模拟器中它工作正常。但是在部署 ipad 时,我遇到了错误。
TinyIoC.TinyIoCResolutionException:无法解析类型:IOSLoginViewModel ---> System.Exception:无法解析类型:IOSLoginViewModel ---> System.Exception:无法解析类型:
上面的方法在模拟器上返回值,但对于 ipad,它给出了 null。
我使用的代码行是
IOS 构建选项我已经尝试了所有,链接 - SDK,全部,没有但仍然相同的错误。
c# - 单元测试南希
我有两个测试不同 Nancy 模块的单元测试项目。这两个项目都创建了一个虚假的引导程序,如下所示:
我遇到的问题是当我单独运行测试时,它们工作正常。当我一起运行它们时,似乎加载了一组模块,然后通过了一组或另一组单元测试,具体取决于加载模块的顺序。
这似乎只发生在 MS 测试运行中。我正在使用 NCrunch(另一个单元测试运行框架),它似乎在那里工作。
所以,我猜这里的问题是 TinyIoC 或 Nancy 没有在测试程序集之间完全刷新,或者因为我使用 DefaultNancyBootstrapper 并且单元测试都编译到同一个 bin 文件夹中,它会自动发现其他库中的模块不应该为正在运行的测试加载(即使它们没有被单元测试项目引用。)
以前有人遇到过这样的事情吗?
signalr - 如何在 NancyFx 中使用 TinyIocContainer 为信号器集线器注册依赖项
我对 NancyFx 和 TinyIoc 有点陌生,但这里是:
我已经能够在 NanxyFx 中使用 TinyIocContainer 的自动注册来在 Nancy 模块中注入依赖项,这非常简洁,一切都很好并且可以正常工作。
但是,您如何为如下所示的信号器集线器注册依赖项?
我不断收到来自信号器的经典错误消息:
我的设置:
我有一个 SignalR 集线器:
这是我的依赖:
我创建了一个 CustomBootstrapper 类:
我有一个启动类:
如果我有一个 ChatHub 的无参数构造函数并使用可怜的 mans Ioc,那么一切正常。
我很确定我错过了一些东西。
有任何想法吗?
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 可以解决它?
ravendb - RavenDB 客户端库升级后的 Nancy TinyIoC 错误
将 RavenDB 客户端库从 2.5.2666 升级到 2.5.2851 后出现此错误
似乎从堆栈跟踪中中断了第 3065 行,但我不确定为什么:
TinyIoC 设置为自动扫描所有依赖项:
如果我把调用 base 的那条线去掉,那么应用程序会再次开始工作,但后来在我没有注册特定依赖项的地方摔倒了,所以我宁愿让它继续自动扫描,然后找到这个错误的底部.
有任何想法吗?
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 的调用。
有人知道我做错了什么吗?
azure - TinyIOC 没有在不同的调试运行中注册相同的类型,使用 Azure 模拟器的 web api 项目
这让我抓狂......我有一个 Web API 项目。我有一个奇怪的行为。我在调试器中运行它并使用 fiddler 来访问一个方法。发生的事情是,API 在构建后第一次在调试中运行时运行良好。但我第二次得到500。我已将问题归结为 TinyIOC 能够在第一次调试运行时自动注册 74 种类型,而在第二次运行时只有 13 种。我没有做任何改变。我构建,我开始调试它的工作原理。我停止调试,再次开始调试,但它没有。错误是它无法创建我的控制器,没有默认构造函数,这是由 TinyIOC 未注册类型引起的。但我不知道为什么。我只能假设 TinyIOC 可以看到的程序集在不同的运行中是不同的。但是如何?为什么?我难住了。
它是一个 Windows azure 云服务,运行在带有 Azure 仿真的 IIS express 上。. 有没有人反对过这个?