2015-10-06 87 views
0

以下是完整的程序代碼: (除了只有id和用戶名的跟隨者類--Json類類) 我沒有任何db用戶 - 剛創建簡單集合MongoDB c#2.0.1驅動程序連接突然關閉

class Program 
{ 
    static void Main(string[] args) 
    { 
     DBClass db = new DBClass(); 
     db.check(); 
    } 
} 

class DBClass 
{ 
    protected string connectionString ="mongodb://localhost:27017"; 
    protected IMongoClient _client; 
    protected IMongoDatabase _database; 
    protected IMongoCollection<Follower> collection; 

    public DBClass() 
    { 
     _client = new MongoClient(connectionString); 
     _database = _client.GetDatabase("FollowedUsers"); 
     collection = _database.GetCollection<Follower>("UserData"); 
    } 

    public async void check() 
     { 
     var filter = Builders<Follower>.Filter.Eq("id", "266663861"); 
     var result = await collection.Find(filter).CountAsync(); 
     Console.WriteLine(result); 
     Console.ReadLine(); 
    } 

} 

}

這是我看到的mongod:

2015-10-06T12:08:24.119+0300 I NETWORK [initandlisten] connection 
accepted from 127.0.0.1:50069 #2 (1 connection now open) 
2015-10-06T12:08:24.243+0300 I NETWORK [conn2] end connection 
27.0.0.1:50069 (0 connections now open) 

,當我從VS它只是終止運行,日行沒有例外,這是我在輸出中看到的程序'[11724] MongoTest.vshost.exe'已退出代碼0(0x0)。 當我調試它,我看到它終止在這條線:

var result = await collection.Find(filter).CountAsync(); 

難道我配置不便錯誤?

+0

1.更改檢查以返回任務...異步任務檢查()。 2.從Main中,執行db.check()。GetAwaiter()。GetResult(); –

+0

@CraigWilson超時後失敗。這是什麼意思? –

+0

這可能意味着它無法與服務器通話,但我沒有任何堆棧跟蹤或例外情況來告訴您的確切信息。 –

回答

0

您的問題與MongoDB無關。 問題的原因是當dbCheck執行時主線程關閉mongoDb連接。

你應該改變下一行:
1)

公共異步任務檢查()

2)

db.check()。 等待();

相關問題