Trong tài liệu chính thức
nó được tuyên bố rằng MongoServer , MongoDatabase và MongoCollection là chuỗi an toàn và bạn phải tạo một MongoServer duy nhất cho mỗi cơ sở dữ liệu mà bạn kết nối.
Do đó, MongoServer , MongoDatabase và MongoCollection có thể được cấu hình một cách an toàn để trở thành các singleton. MongoServer thậm chí sẽ giúp thực thi điều này bằng cách trả về cùng một MongoDatabase ví dụ cho các cuộc gọi kế tiếp và MongoDatabase sẽ làm điều tương tự đối với MongoCollection s.
I E. MongoServer của bạn phiên bản có thể được định cấu hình một cách an toàn để có lối sống singleton trong vùng chứa IoC của bạn và bạn cũng có thể thiết lập chèn cho MongoDatabase và thậm chí có thể là MongoCollection cũng.
Tôi đang sử dụng chiến lược này với chính Windsor - bạn có thể xem MongoInstaller của tôi tại đây: https://gist.github.com/2427676
- nó cho phép các lớp của tôi tiếp tục và thực hiện điều này:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
để có một bộ sưu tập được tiêm vào, đẹp và sẵn sàng để sử dụng.