2016-03-27 1 views
1

Я использую C# и asp.net mvc (visual studio 2015). Когда я пытаюсь соединить MongoDB в C#, появляется эта ошибка:подключение mongodb к C#

MongoDB.Driver.MongoConfigurationException: The connection string 'mongodb:://localhost' is not valid. 

и источник ошибки:

var client = new MongoClient(Settings.Default.bigdataconexionstrin); 

это мой код:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web.Mvc; 
using WebApplication5.Properties; 
using MongoDB.Driver; 
using MongoDB.Driver.Linq; 

namespace WebApplication5.Controllers 
{ 
    [Authorize] 
    public class HomeController : Controller 
    { 
     public IMongoDatabase db1; 
     public HomeController() 
     { 
      var client = new MongoClient(Settings.Default.bigdataconexionstrin); 
      MongoClientSettings settings = new MongoClientSettings(); 
      settings.Server = new MongoServerAddress("localhost", 27017); 
      this.db1 = client.GetDatabase(Settings.Default.db); 
     } 

     public ActionResult Index() 
     { 
      return View(); 
     } 
    } 
} 

ответ

7

Согласно the manual, действительная строка соединения (с одним хостом) имеет следующий формат:

mongodb://[username:[email protected]]host[:port][/[database][?options]] 

Судя по сообщению об ошибке, вы используете mongodb:://localhost. Обратите внимание, что повторный двоеточие, что делает это недействительным. Поэтому вам нужно исправить строку подключения в вашей конфигурации.

Это, как говорится, непосредственно после инициализации MongoClient вы создали MongoClientSettings, который является alternative way задать параметры соединения для MongoClient. Но вы никогда не используете эти настройки для создания клиента. Если вы хотите использовать их, ваш код должен выглядеть следующим образом:

MongoClientSettings settings = new MongoClientSettings(); 
settings.Server = new MongoServerAddress("localhost", 27017); 
var client = new MongoClient(settings); 

Но тогда вы не использовать строку соединения с заданными параметрами. Поэтому вы должны решить, какой из этих двух способов указать параметры подключения, которые вы хотите использовать.

+0

очень хорошо. Я также прекратил использовать строку подключения для подключения mongodb. –