具有Ninject依赖注入的ASP.NET MVC应用程序中的MongoDB官方C#驱动程序

Dan*_*rik 4 .net c# asp.net-mvc ninject mongodb

有没有人有一个代码示例遵循在ASP.NET MVC应用程序中使用Ninject的MongoDB官方C#驱动程序的最佳实践?

我看起来像这样:

namespace WebApp
{
    public class DataModule : NinjectModule
    {
        public override void Load()
        {
            var conventions = new ConventionProfile().SetElementNameConvention(new CamelCaseElementNameConvention());
            BsonClassMap.RegisterConventions(conventions, x => true);

            var server = MongoServer.Create(connectionString);
            var database = server.GetDatabase("webapp");
            Bind<MongoDatabase>().ToConstant(database);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

由于这段代码是单身,我对此感觉不好:|

谢谢

Cra*_*son 8

MongoServer可以保持单身.MongoDatabase也是如此.它们都是线程安全的,即使您每次都创建一个新的MongoServer和MongoDatabase,您也会返回相同的实例,因为只要连接字符串完全相同,它们就会缓存在下面.