4

Does anyone have a code example that follows best practices of using MongoDB Official C# Driver with Ninject in ASP.NET MVC app?

Mine looks like this:

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);
        }
    }
}

Since this code is singleton, I have a bad feeling about it :|

Thanks

1 Answer 1

8

MongoServer is just fine to keep as a singleton. The same is true of a MongoDatabase. They are both thread-safe and even if you create a new MongoServer and MongoDatabase every time, you will get back the same instances because they are cached underneath as long as the connection string is exactly the same.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.