2012-09-25 29 views
0

我有我使用的服务的时间拦截:如何暂停动态代理的拦截器?

class TimingInterceptor : IInterceptor 
{ 
    public void Intercept(IInvocation invocation) 
    {     
     var watch = new Stopwatch(); 
     watch.Start(); 
     try 
     { 
      invocation.Proceed(); 
     } 
     finally 
     { 
      watch.Stop(); 

      PosLogFactory.Default.Verbose(
       "{0} ms spent on calling {1}" 
       , watch.Elapsed.TotalMilliseconds 
       , invocation.Method.Name 
       ); 
     } 
    } 

我使用这个拦截器获得日志关于我的服务调用的持续时间的信息。

我只想在从应用程序的某个部分调用服务时获得它。 当从特定的类中调用服务时,是否有一个选项可以暂停拦截器日志?

+0

我不相信有什么内置DynamicProxy来做到这一点。你必须自己写在拦截器内。 – PatrickSteele

回答

0

不,没有内置的方法来做这样的事情。