问题标签 [linfu-dynamicproxy]
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.
.net - LinFu.DynamicProxy 和 Castle.DynamicProxy 有什么区别?
我正在考虑将逻辑添加到我正在处理的库中,这需要动态代理。我想从在生产环境中使用这两个库的用户那里得到一些建议。一个能胜过另一个,是否有任何缺点让你不得不切换到另一个,等等。基本上告诉我你在图书馆的经历。答案将帮助我决定使用哪一个。
- 编辑 -
我忘了提到我正在开发的库将支持 Mono,因此您可以分享关于这两个库的任何知识以及它们对 Mono 的支持也会很棒。
nhibernate - 升级到版本 2.1.2 后 Nhibernate 不起作用
我最近将我的 NHibernate 实现从版本 2.1.0 更改为 2.1.2。对于延迟加载,我使用了 LinFu 实现:NHibernate.ByteCode.Linfu。
由于我更改为最新版本,因此出现以下错误:
调试时出现以下错误:
这是因为使用了 NHibernate.ByteCode.LinFu 吗?我该怎么做才能使应用程序再次运行?
linfu-dynamicproxy - 林福拦截器
如何使用 LinFu 实现自动 InotifypropertyChanged?
c# - 如何拦截、解析和编译?
这是我一段时间以来一直在努力解决的问题。我需要一种方法,要么在编译时用模板中的解析代码替换方法中的代码(想到 PostSharp),要么创建动态代理(Linfu 或 Castle)。所以给出这样的源代码
我需要把它编译成这个
使用什么技术并不重要。我尝试使用 PostSharp 的 ImplementMethodAspect,但一无所获(由于缺乏经验)。我还研究了 Linfu 框架。有人可以建议一些其他方法或方法来做到这一点,我真的很感激。我的整个项目都依赖于此。
假设:
- 代码可以出现在任何类中。
- 模板代码将始终使用属性 [Template] 进行注释
- 模板方法将始终返回字符串。
将代码从一种形式解析到另一种形式已经完成。现在我只需要一种方法来替换它。
“牛肉”示例:
nhibernate - 在哪里可以找到 NH3.2 的 LinFu 字节码提供程序?
它不包含在 NHibernate 的 3.2 版本中,我无法在任何地方找到它。
在哪里可以找到?
nhibernate - 在 NHibernate 中使用 LinFu ProxyFactoryFactory 时,集合的支持字段为空
当我尝试在 NHibernate 中从 Castle ProxyFactoryFactory 切换到 LinFu ProxyFactoryFactory 时遇到问题。
我有一个这样的实体:
这是用 Fluent NHibernate 映射的,如下所示:
这种关系是双向的,并且在 Bar 端也是如此映射的。
当我调用 AddBar 方法时会出现问题。_bars 集合为 null,并引发 NullReferenceException。
如果我切换回 Castle ProxyFactoryFactory,问题就会消失。
所有映射的集合都不会发生该错误,仅此一个实例。
即使我将 _bars 更改为只读,问题仍然存在!因此,即使在分配了该字段之后,也有人设法将只读字段设置回 null。
有任何想法吗?
nhibernate - NHibernate.ByteCode.LinFu.dll 用于 NHibernate 3.2
我在哪里可以找到针对 NHibernate 3.2 编译的最新版本的 NHibernate.ByteCode.LinFu.dll?
c# - Ninject Interception 动态代理问题
我正在尝试设置拦截以与我们一直用作依赖注入框架的 Ninject 一起工作。
我已经从 NuGet 下载了拦截扩展,并尝试使用 Castle Dynamicproxy 实现和 LinFu 实现,但都无法与我们的应用程序一起使用。
Castle 在没有无参数构造函数的类上创建代理时出错,因为所有服务对象的依赖项都通过构造函数注入,这是一个问题。错误是:
System.ArgumentException:无法实例化类的代理:emedia.RapidSystems.Subscriber.Presenters.RRSubmissionPresenter。找不到无参数构造函数。参数名称:constructorArguments
LinFu 拦截器工作得更好,直到代码调用了一个带有泛型参数的方法,然后它给了我以下内容:
System.ArgumentException:泛型类型无效。参数名称:methodInfo
这是我试图拦截的一个类的简化版本代码:
Add 和 GetAll 工作正常,但在代理上调用 GetEntity 时会发生错误。
在这一点上,我被困住了,因为这两个拦截器都不能与代码库一起工作。有没有人使用真正复杂的生产系统而不是简单的演示类进行 Ninject 拦截,如果是这样,怎么办?我不介意我使用哪个拦截器,只要它有效。
还是使用 Ninject 进行拦截还不够成熟,我是否需要考虑用 Unity 之类的其他东西替换整个东西?
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 许可证。