2015-07-09 12 views
7

tôi cố gắng để triển khai cơ sở dữ liệu Mongo tôi trong mongolabs, mọi thứ hoạt động tốt,Đã hết thời gian xảy ra sau khi 30000ms lựa chọn một máy chủ sử dụng CompositeServerSelector

và tôi tạo ra một cơ sở dữ liệu mới trong phòng thí nghiệm Mongo, Xin vui lòng xem connectionstring của tôi.

public DbHelper() 
    { 

     MongoClientSettings settings = new MongoClientSettings() 
     { 
      Credentials = new MongoCredential[] { MongoCredential.CreateCredential("dbname", "username", "password") }, 
      Server = new MongoServerAddress("ds011111.mongolab.com", 11111), 
      //ConnectTimeout = new TimeSpan(30000) 
     }; 

     Server = new MongoClient(settings).GetServer(); 

     DataBase = Server.GetDatabase(DatabaseName); 

    } 

nhưng khi tôi cố gắng để connet cơ sở dữ liệu nó cho thấy lỗi như

enter image description here

Ông có thể vui lòng cho một lời khuyên.

Cảm ơn

+4

Bạn có tìm thấy giải pháp cho vấn đề của mình không? Bởi vì tôi có cùng một vấn đề – RPDeshaies

+0

Vâng, tôi đã nhầm lẫn trong kết nối chuỗi xây dựng, do đó, lỗi thời gian chờ xảy ra. Vui lòng xem câu trả lời dưới đây. –

+0

Bản sao có thể có của [MongoDB C# 2.0 TimeoutException] (https://stackoverflow.com/questions/29832622/mongodb-c-sharp-2-0-timeoutexception) – kenorb

Trả lời

9

Tôi đang thay thế phương thức chuỗi kết nối như dưới đây.

new MongoClient("mongodb://username:[email protected]:11111/db-name") 

Bây giờ nó được giải quyết.

Xin vui lòng xem các ý kiến ​​dưới đây của @Paul Lemke

+1

Đúng vậy, MongoLab không thích mới 'MongoSettings (mới MongoUri ("...")) ' –

1

Hãy chắc chắn rằng cơ sở dữ liệu tên cũng là trường hợp nhạy cảm. Tôi chạy vào vấn đề này vì trường hợp nhạy cảm của tên người dùng

HTA :-)

+0

Cảm ơn bạn đã trả lời có giá trị của bạn. –

6

Add "? Kết nối = replicaSet" vào cuối của chuỗi kết nối của bạn nếu kết nối với MongoLab.

new MongoClient("mongodb://username:[email protected]:11111/db-name?connect=replicaSet") 

vé JIRA này có một số chi tiết: https://jira.mongodb.org/browse/CSHARP-1160

Về cơ bản mặc định là để kết nối với một thành viên bản sao bộ. Nhưng các thiết lập Single-Node của MongoLab thực sự là một bản sao nút đơn và điều này khiến chúng ta không tin tưởng nó. Nối = connectaSet vào chuỗi kết nối của bạn sẽ buộc trình điều khiển chuyển sang chế độ thiết lập bản sao và tất cả sẽ hoạt động.

Found that info here.

+1

Cảm ơn bạn đã trả lời có giá trị của bạn. –

Các vấn đề liên quan