2014-09-26 61 views
1

我在我的项目中使用MiniProfiler。为了得到MiniProfiler的实例,我必须使用以下命令:将一个对象绑定到autofac中的类,并且对象可以为null

var profiler = MiniProfiler.Current; 

这探查对象是我想AutoFac传递给每一个MiniProfiler类型,当我创建一个类的东西。比如我做了以下内容:

var profiler = MiniProfiler.Current; 
    builder.RegisterInstance(profiler); 

,并在我的控制器我用下面的方法:

public ListingsController(IDataFetcher DataFetcher, ILog log, MiniProfiler profiler) 
     { 
      _DataFetcher = DataFetcher; 
      _log = log; 
      _profiler = profiler; 
     } 

的事情是剖析实例可以为空,我得到以下服务器错误,当我运行码。

Value cannot be null. 

见图片:enter image description here

需要怎么做,这样我可以用Miniprofiler使用Autofac?或者我正确地注册对象到concreteType?

回答

3

尝试注册一个lambda,所以它总是当前的实例而不是一个特定的实例。

builder.Register(
    c => MiniProfiler.Current) 
.As<MiniProfiler>(); 
相关问题