類似的quetion已經在這裏問:數據業務操作失敗
ADO.Net Services service operation with parameters called from client library fails
的問題的整個描述,因爲我現在有火焰。唯一不同的是我以正確的方式傳遞所有參數。
我在數據服務中定義此opertaion方法:
[WebGet]
public IQueryable<Equipment> GetCompanyEquips(int id)
{
return this.CurrentDataSource.GetCompanyEquips(id);
}
我可以從它那裏得到的結果,而不在我的web瀏覽器的任何問題:
http://localhost:51685/ITSServiceOData.svc/GetCompanyEquips?id=18
但是當我」 mtrying在我的客戶端得到如下結果:
var r = this.CreateQuery<Equipment>("GetCompanyEquips");
r.AddQueryOption("id", CompanyId);
r.ToArray();
我有以下異常:
「在處理這個要求時發生錯誤。」
另外我在調試器中看到了什麼r.Query =「{http://localhost:51685/ITSServiceOData.svc/GetCompanyEquips}」,我懷疑這裏有什麼錯,因爲我在這裏沒有看到?id = 18。
此外,當我調用的方法是這樣的:
this.Execute(「http://localhost:51685/ITSServiceOData.svc/GetCompanyEquips?id=18」) - 返回包含空枚舉(儘管在這種情況下例外不提高),但是當我調用相同的查詢字符串瀏覽器,它展示預期結果。
而且當調用其中沒有任何PARAMS類似的方式方法 - 所有做工精細。請幫忙!我花了整整一天的時間來解決這個問題,但是沒有發現我的代碼沒有問題!
謝謝。
謝謝它的工作。仍然是這裏的工作通過這樣的操作返回不是實體複雜類型,或者這裏的唯一方法是創建另一個數據服務? – baio 2011-03-17 09:29:46
我不明白第二個問題。客戶端庫根本不支持從服務操作返回原始的或複雜的類型解析響應(或那些枚舉)。 「解決辦法」是無論是從服務操作返回的實體類型(有時是可能的,有時它是比較硬),或解析響應等自己(XML格式是很容易處理)。 – 2011-03-17 09:49:17