隐患:
5>MSBUILD : warning : CA1001 : Microsoft.Design : 在 'NinjectDependencyResolver' 上实现 IDisposable,因为它创建下列 IDisposable 类型的成员: 'StandardKernel'。如果以前提供过 'NinjectDependencyResolver',对于现有使用者来说,向此类型添加用于实现 IDisposable 的新成员属于重大更改。
MSDN:http://msdn.microsoft.com/library/ms182172
解决方案:新增一个IDisposable接口给容器类,并且重写其Dispose方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using xxxxx.com.Contract;
using xxxxx.com.BLL;
using Ninject;
namespace xxxxx.com.Common
{
public class NinjectDependencyResolver
: System.Web.Mvc.IDependencyResolver,IDisposable
{
private Ninject.IKernel kernel;
public NinjectDependencyResolver()
{
this.kernel = new Ninject.StandardKernel();
this.AddBindings();
}
private void AddBind

本文通过介绍如何利用Visual Studio 2012的‘对解决方案运行代码分析’功能(Alt+F11),发现Ninject依赖注入容器存在的重大隐患。警告指出,'NinjectDependencyResolver'应实现IDisposable接口,因其包含'StandardKernel'类型的Disposable成员。为避免对现有使用者造成重大变更,建议为容器类添加IDisposable接口并实现Dispose方法。
最低0.47元/天 解锁文章

4400

被折叠的 条评论
为什么被折叠?



