2015-08-21 30 views
1

我已經通過包管理器下載Parse引用到我的MVC應用程序中。已經添加的參考是Parse 1.5.5。.NET:從解析數據庫檢索數據

ParseClient.Initialize("app_key", ".net_key"); 
var test = new ParseObject("test");   
test["username"] = "test"; 
test["password"] = "test"; 
test.SaveAsync(); 

ParseQuery<ParseObject> query = ParseObject.GetQuery("test"); 
ParseObject test1 = query.GetAsync("mVzhilmRJw"); 

問題在於GetAsync方法返回ParseQuery類型,而不是ParseObject類型,如文檔中所述。此外,元數據顯示GetAsync方法不是Async類型,我認爲這是根本原因。

以下是當我試圖執行上述方法的LINQ版本,我得到的錯誤:

var query1 = ParseObject.GetQuery("test") 
    .WhereEqualTo("objectId", "W70H7Ad8rv"); 
IEnumerable<ParseObject> results = 
    (IEnumerable<Parse.ParseObject>)query1.FindAsync(); 

錯誤:

無法投類型的對象「的System.Threading .Tasks.UnwrapPromise 1[System.Collections.Generic.IEnumerable1[Parse.ParseObject]]' to type 'System.Collections.Generic.IEnumerable 1 [Parse.ParseObject]'。

我試着解析爲第一次後端,不知道如果我已經包含適當的引用。此外,我在Windows 7操作系統上使用.NET 4.5框架,Visual Studio 2012。這與我面臨的問題有什麼關係?

任何幫助,高度讚賞。

TLDR:我們如何使用.NET 4.5框架VS 2012在.NET Web應用程序中從Parse中檢索數據,以及哪些是必須添加的與Parse相對應的引用。

回答

0

這個問題的解決方案結果非常簡單。我們需要知道什麼是異步。這可以找到here。 僅在異步方法內調用異步方法非常重要。代碼可以將樣品所看到下面

public async void GetData() 
{ 
    ParseClient.Initialize("app_key", ".net_key"); 
    var query1 = ParseObject.GetQuery("test").WhereEqualTo("objectId", "xxxxxxxx"); 
    var result = await query1.FindAsync(); 
} 

如果你想知道如何不呼叫阻塞到異步方法,你可以參考here