Trong the official documentation nó được tuyên bố rằng MongoServer
, MongoDatabase
, và MongoCollection
là chủ đề an toàn, và rằng bạn đang nghĩ để tạo ra một đơn MongoServer
cho mỗi cơ sở dữ liệu mà bạn kết nối.
Do đó, MongoServer
, MongoDatabase
và MongoCollection
có thể được định cấu hình một cách an toàn thành người độc thân. MongoServer
thậm chí sẽ giúp thực thi việc này bằng cách trả về cùng một phiên bản MongoDatabase
cho các cuộc gọi liên tiếp và MongoDatabase
sẽ làm điều tương tự cho MongoCollection
s.
I.e. ví dụ MongoServer
của bạn có thể được định cấu hình an toàn để có lối sống đơn trong thùng chứa IoC của bạn và bạn cũng có thể thiết lập tiêm cho MongoDatabase
và thậm chí có thể cả MongoCollection
.
Tôi đang sử dụng chiến lược này với Windsor bản thân mình - bạn có thể thấy tôi MongoInstaller
đây: https://gist.github.com/2427676 - nó cho phép các lớp học của tôi chỉ cần đi trước và làm điều này:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
để có một bộ sưu tập tiêm, tốt đẹp và sẵn sàng để sử dụng.
Cảm ơn bạn đã chia sẻ WindsorInstaller. Mã này là hơi cũ và tôi đã tự hỏi nếu bạn có một phiên bản cập nhật cho mongodriver mới 2.0? Tôi đã cố nâng cấp bản thân mình, nhưng tôi không chắc chắn liệu có cách nào tốt hơn? ' https://gist.github.com/kri5t/afcba8068badb62f5c9b –