我需要一些幫助找出正確的模式對於這種情況的多個列表:的Silverlight 4個RIA wcf-返回複雜的對象
我有5個層疊組合框的視圖。當您從第一個組合框中選擇一個值時,會進行服務調用以獲取下一個組合框的結果,然後啓用該組合框。用戶進行下一個選擇並繼續處理。這工作正常。接下來,我給出了用戶返回到此視圖的情況,其中已經選擇了數據,並且每個組合框中已經填充了適當的數據。
我不想讓所有的調用一個接一個地得到數據,這看起來很浪費。相反,我想打一個電話,並一次返回所有數據。 使用RIA WCF服務,實現此目的的最佳方法是什麼?
這是我試過的,但它沒有按照我的希望工作。
A)我在服務器側進行的一類,則增加了一個方法到服務返回此類型
public partial class SelectionValues
{
public List<Series> SeriesList {get;set;}
public List<BaseModel> BaseModelList {get;set;}
public List<FullModel> FullModelList {get;set;}
public List<Program> ProgramList {get;set;}
public List<ExtendedWarranty> ExtendedWarrantyList{get;set;}
}
[in the service]
/// <summary>
/// This function does nothing, just exposes the SelectionValues type
/// </summary>
/// <returns></returns>
public IQueryable<SelectionValues> getUnitSelectionValues()
{
throw new NotImplementedException();
}
結果:在客戶端上所產生的列表中的無。
B)所以我將.Shared.cs文件添加到類文件中,所以類在客戶端是相同的。然後我編寫了Service方法來返回我需要的數據。代碼有效,但SelectionValues對象中的列表中的數據不會傳遞給客戶端。
[Invoke]
public SelectionValues GetValuesForExistingUnit(.....)
{
SelectionValues result = new SelectionValues();
...
return result
}
有沒有辦法立刻返回複雜對象的多個列表,或者我註定做鏈接在一起的多個呼叫?