MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Norm.MongoException:Hết thời gian chờ kết nối cố gắng lấy kết nối từ nhóm kết nối

Vinny,

Tôi chưa bao giờ sử dụng Ninject, vì vậy tôi có thể dừng lại với đề xuất này. Nhưng có vẻ như việc có một phiên bản MongoSession tĩnh có thể đang giữ các kết nối đang mở. Bạn đã thử TransientBehavior thay vì SingletonBehavior chưa? Hoặc có thể thay đổi mã của bạn để gọi Vứt bỏ (hoặc sử dụng bằng cách sử dụng) sau khi bạn chuyển đổi Liên kết tắt thành Danh sách? Tất cả

var shortcutLionks = _session.All<ShortcutLinks>().ToList();
_session.Dispose();

Một cách tiếp cận tốt hơn có thể là sử dụng một số loại kho lưu trữ hoặc DAO nơi chi tiết phiên được ẩn khỏi bộ điều khiển. Tôi có mẫu RepositoryBase tại http:/ /www.codevoyeur.com/Articles/20/A-NoRM-MongoDB-Repository-Base-Class.aspx .

Stuart Harris có cách triển khai tương tự, được cho là hoàn thiện hơn tại http://red-badger.com/Blog/post/A-simple-IRepository3cT3e-implementation-for-MongoDB-and-NoRM.aspx

Các kết nối MongoDB gộp lại tương đối rẻ để tạo, vì vậy có lẽ tốt nhất bạn nên đảm bảo rằng các phương thức truy cập dữ liệu được loại bỏ sau khi bạn hoàn tất việc lấy / lưu dữ liệu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB &Meteor - Truy vấn đẩy vào mảng lồng nhau không hoạt động, không xảy ra lỗi

  2. Số lượng tài liệu sai trong cụm phân đoạn MongoDB

  3. Làm cách nào để cập nhật một đối tượng trong mongodb qua mongoose?

  4. Mối quan hệ Mongo DB giữa các đối tượng

  5. mongodb geoNear vs near