2011-03-01 55 views
1

有没有人得到SNAP AOP框架与MVC 3和Ninject一起工作。获得SNAP(AOP),NInject和ASP.Net MVC 3一起工作

使用的NuGet到MVC 3项目没有比较特别了以前添加NInject包好工作增加快时给出的样本。我试图让它工作在正常的NInject方法的基础上,但却无法让它实际拦截!

任何人都可以显示如何在代码中做到这一点?

回答

4

我通过的NuGet最新版本Ninject的现在增加了一个一流的呼叫NinjectMVC3在MVC3应用程序的新文件夹AppStart的想通了。

我使用的代码是作为folows: 在自动创建NinjectMVC3.cs CreateKernel()方法: -

   private static IKernel CreateKernel() 
     { 
      // Wire it up with AOP 
      NinjectAopConfiguration.NinjectAopConfigure(); 

      //var kernel = new StandardKernel(); // Removed 

      RegisterServices(NinjectAopConfiguration._container.Kernel); 

      return NinjectAopConfiguration._container.Kernel; 
     }

我在RegisterServices也有线了Ninject用于各种注射目标()方法。

接下来,我把通过的NuGet时产生增加SNAP.Ninject到MVC 3应用程序,它改名NinjectAOP.cs示例代码,并使它看起来像这样:

 public static class NinjectAopConfiguration 
    { 
     public readonly static NinjectAspectContainer _container;

static NinjectAopConfiguration() { _container = new NinjectAspectContainer(); } public static void NinjectAopConfigure() { SnapConfiguration.For(_container).Configure(c => { c.IncludeNamespace("MyNamespace.Model.*"); c.Bind<ExceptionLoggingInterceptor>().To<ExceptionLoggingAttribute>(); }); } }

我还需要做的程序集绑定重定向Ninject如下,因为有一个程序集版本冲突Ninject的某处:

我希望这可以帮助某人。

我邀请任何人看看,看看他们是否可以改善这一点,请。