2011-03-01 54 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的某處:

我希望這可以幫助某人。

我邀請任何人看看,看看他們是否可以改善這一點,請。