2016-03-25 2 views
0

私のデータにすべてのドキュメントをリストアップし、Findasync(csharpdriver 2.2.3)を使ってすべてのドキュメントをリストして、それを返すことはありません。あなたは私にいくつかのアドバイスをくれますか?ここで は私のコードであるCsharpDriver 2.2.3 Findasyncは決して返さない

public class HomeController : Controller 
    { 
     readonly MyVietnamContext Context = new MyVietnamContext(); 
     private List<UserModels> list = new List<UserModels>(); 
     public ActionResult Index() 
     { 
      GetUsers().Wait(); 
      return View(list); 
     } 

     public async Task GetUsers() 
     { 
      var filter = new BsonDocument(); 
      var collection = Context.Collection();    
      var cursor = await collection.FindAsync(filter); 
      while (await cursor.MoveNextAsync()) 
      { 
       var batch = cursor.Current; 
       list.AddRange(batch); 
      }    
     } 
    } 

答えて

0

public async Task<ActionResult> Index() 
{ 
    await GetUsersAsync(); 
    return View(list); 
} 

public async Task<Context.Collection> GetUsersAsync() 
{ 
    var filter = new BsonDocument(); 
    var collection = Context.Collection();    
    var cursor = await collection.FindAsync(filter); 
    while (await cursor.MoveNextAsync()) 
    { 
     var batch = cursor.Current; 
     list.AddRange(batch); 
    }  
    return list;  
} 

にコードを変更し

Using Asynchronous Methods in ASP.NET MVC 4ページを見てください。

+0

ありがとうございます。それは働いている! – Tailmse02457

関連する問題