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.