- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可能遗漏了一些非常简单的东西。
我只是想写一个非常简单的 DynamicProxy 用法示例 - 我基本上想拦截调用并显示方法名称和参数值。我有如下代码:
public class FirstKindInterceptor : IInterceptor
{
public void Intercept(IInvocation invocation)
{
Console.WriteLine("First kind interceptor before {0} call with parameter {1} ", invocation.Method.Name, invocation.Arguments[0]);
invocation.Proceed();
Console.WriteLine("First kind interceptor after the call");
}
}
public interface IFancyService
{
string GetResponse(string request);
}
public class FancyService : IFancyService
{
public string GetResponse(string request)
{
return "Did you just say '" + request + "'?";
}
}
class Program
{
static void Main(string[] args)
{
var service = new FancyService();
var interceptor = new FirstKindInterceptor();
var generator = new ProxyGenerator();
var proxy = generator.CreateClassProxyWithTarget<IFancyService>(service, new IInterceptor[] { interceptor } );
Console.WriteLine(proxy.GetResponse("what?"));
}
}
但是,当我运行它时,出现以下异常:
Unhandled Exception: System.ArgumentException: 'classToProxy' must be a class Parameter name: classToProxy
我错过了什么?
最佳答案
错误是 CreateClassProxyWithTarget
需要是一种类而不是接口(interface)。 CreateInterfaceProxyWithTarget
使用接口(interface)。
关于c# - CaSTLe DynamicProxy - 'classToProxy' 必须是一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14431447/
我正在考虑向我正在开发的库添加逻辑,这需要动态代理。我想从在生产环境中使用过这两个库的用户那里得到一些建议。其中一个是否优于另一个,是否有任何缺点使您不得不切换到另一个,等等。基本上告诉我您对图书馆的
我正在使用 caSTLe DynamicProxy,想知道是否有一种方法可以在不引用 CaSTLe DynamicProxy 的情况下检测类型是否是代理? 因此,当我使用 CaSTLe Dynamic
在我们的实际应用程序中,我们定义了一个属性,用于在方法或类中启用日志记录(通常的 AOP 用例)。当我们将此属性应用于 WPF 窗口类时,Ninject 无法创建此类的对象。这是重现该问题的最小示例:
有人知道是否可以控制通过 CaSTLe DynamicProxy 生成的类型的名称?我希望利用持久化由 CaSTLe 生成的程序集的能力,将一些具有某些特定功能的附加类添加到我的项目中,但我希望能够控
我正在使用 CaSTLe DynamicProxy 在运行时创建给定类型的代理 - 包括几个混合。 我正在尝试弄清楚是否可以向代理添加任意属性,例如: class BaseType { strin
我一直在研究使用 DynamicProxy 类,但我对这个概念还很陌生。在我走得太远之前,我想知道这些类与 IntelliSense 和类型安全的配合情况如何? 我只是害怕使用像 Castle Dyn
我们在项目中使用 DynamicProxy。我已经为一些方法创建了一个拦截器。 我知道可以在 CaSTLe.DynamicProxy.IInterceptor 对象中获取方法参数。 拦截器能否在调用
我试图将自定义属性分配给来自动态代理的类 System.Data.Entity.DynamicProxies.Login_A2947F53... 示例类登录 public partial class
我有这样一个场景: 我正在使用拦截器来捕获对主项目引用的程序集内部类(我们称之为功能)的调用。 Assembly Feature 由 NuGet 安装(它不是公开的,而是我们内部的)并且引用了另一个程
下面是来自 Intercept 的代码实现 IInterceptor 的自定义类型上的方法的 Castle Dynamic Proxy图书馆。此片段来自 AOP发布的基于日志记录的概念验证控制台应用程
尝试在 CaSTLe 中使用 TypedFactoryFacility 时遇到问题。 我正在使用 CaSTLe v3.0.0 并且我创建了一个 ViewFactory,使用 injector.AddF
我们基本上有一个如下所示的类,它使用 CaSTLe.DynamicProxy 进行拦截。 using System; using System.Collections.Concurrent; usin
我有 2 个类,一个用于访问数据库,另一个子类使用缓存。我可以更改这两个类的源代码,但是有许多类具有不同的结构,所以我正在寻找一种方法来制作通用解决方案,这将帮助我只拦截我用 Attribute 标记
我可能遗漏了一些非常简单的东西。 我只是想写一个非常简单的 DynamicProxy 用法示例 - 我基本上想拦截调用并显示方法名称和参数值。我有如下代码: public class FirstKin
我正在尝试制作一个动态代理作为现有库的包装器,目标是处理所有操作(属性访问、成员访问、方法调用……)通过动态调度的现有对象。我可能需要它来处理交叉问题,例如更好的错误处理、日志记录或对此对象的访问控制
我正在使用 CreateClassProxyWithTarget 方法装饰现有对象。但是,构造函数和初始化代码被调用了两次。我已经有一个“构建的”实例(目标)。我明白为什么会发生这种情况,但除了使用空
我有一些简单的 DTO 类,例如: [XmlType] class Person : AbstractResource { [XmlElement("name")] public virtua
假设我有一个由第三方创建的 CaSTLe.DynamicProxy 对象。在本例中是 Rhino.Mocks。 var rhinoObj = MockRepository.GenerateMock()
White UI 自动化库广泛使用 Castle Project' s DynamicProxy 2. 据我了解,DynamicProxy 用于“包装”MS UI Automation 对象,并用于检
一个例子最能说明问题: public interface IA { void foo(); void bar(); } public class A : IA { public virtu
我是一名优秀的程序员,十分优秀!