问题标签 [linfu]

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 回答
365 浏览

c# - 代理使用 Ninject.Extensions.Interception.Linfu 暴露多个接口

我正在使用Ninject.Extensions.Interception(更具体地说,InterceptAttribute)和Ninject.Extensions.Interception.Linfu代理在我的 C# 应用程序中实现日志记录机制,但是当代理类实现多个接口时,我遇到了一些问题。

我有一个实现接口并从抽象类继承的类。

当我尝试从 ServiceLocator 获取 MyClass 的实例时,Loggable属性会导致它返回一个代理。

问题是返回的代理只识别AbstractClass接口,暴露SomeMethod()ArgumentException因此,当我尝试访问不存在的SomeProperty时,我会收到一个。

在这种情况下,有没有办法使用 mixin 或其他一些技术来创建一个暴露多个接口的代理?

谢谢

保罗

0 投票
1 回答
358 浏览

c# - 在商业应用中使用 Automapper 和 LinFu.DynamicProxy

我们想在商业应用程序(.NET 3.5)中使用 Automapper。为了获得许可,我们需要 automapper 的源代码。

我们获得了所需的 automapper 源代码,但在构建代码后我们发现 automapper.dll 的大小为 86KB,而我们使用的 DLL 为 108 KB。应用程序无法使用这个 86KB 的 automapper dll

我们查看了代码,发现另一个 DLL LinFu.DynamicProxy 大小为 21KB。如果我将此 DLL 与 automapper DLL 应用程序一起使用,则可以正常工作。

基于此,我得出结论,我使用的 108KB dll 实际上包含 86KB Automapper + 21 KB LinFu.DynamicProxy。

现在我有与许可有关的问题。我是否也需要获得 LinFu.DynamicProxy 的批准。它带有 GNU 许可证。

0 投票
3 回答
194 浏览

asp.net-mvc - 有没有更好的方法在 asp.net-mvc 中做 IOC?

我有一个 asp.net-mvc 站点,我正在使用 LinFu 来做 IOC。我遇到了一个问题,其中许多操作具有我想注入控制器的依赖项,但我只想在调用依赖于它的操作时初始化依赖项。

所以在我的控制器中,我的控制器中有以下代码:

启动 PeopleImporter 非常昂贵,所以我的问题是我想解决两件事:

  1. 我想让 IPeopleImporter 的实现“可插入”,这样我就可以在接口中将 IOC 放入控制器

  2. 我有很多操作,所以如果用户从不调用需要它的特定操作,我不希望启动 IPeopleImporter 的成本。似乎在上面的代码中,我在每次调用 PersonController 时都进行了初始化

我的初始化代码是这样的:

这似乎是常见的模式/问题。有没有推荐的解决方案。同时,替代方案(避免性能损失是简单地“新建”控制器内部的概念实现(并避免 IOC)?

0 投票
0 回答
61 浏览

c# - 如何将 LinFu 运行时错误转化为编译时错误

我对 IoC 的接触很少,并且正在使用 LinFu。我遇到的主要问题是直到运行时才发现错误。我更喜欢处理编译时错误。

例如,如果我使用以下代码创建一个对象:

我为实现此接口而创建的对象是:

假设我现在想向构造函数添加另一个参数:

如果我这样做了,那么我的代码仍然可以很好地编译,但是当我调用 GetService 来实例化对象时,会发生运行时错误。

谢谢。

如何修改我的代码以便接收编译时错误并且我可以快速轻松地修复它们。

0 投票
0 回答
56 浏览

automapper - 使用 Automapper、Linfu、Clay 或 ImpromptuInterface 从复杂数据源实例化和绑定动态代理绑定

我需要从匿名类型、json 或 Dictionary 构造一个不可变的复杂动态代理类

鉴于我有一个

以及以下任何内容的来源

有没有办法动态实例化和绑定 IChangeDetails ?

我探索过 Linfu、ClaySharp、ImprpomtuInterface 和 AutoMapper

我看不到如何将复杂的子属性与任何绑定。虽然 AutoMapper 似乎是最有前途和最直接的,但似乎不支持不可变接口。虽然我相信它在幕后使用了Linfu,所以我觉得这应该也是可能的。