내가이 상황에 맞는 패턴을 파악 도움이 필요의 여러 목록을 반환 wcf-. 첫 번째 콤보 상자에서 값을 선택하면 다음 번 콤보 상자에 대한 결과를 얻기 위해 서비스 호출이 만들어지고 활성화됩니다. 사용자가 다음 선택을하고 프로세스가 계속됩니다. 이것은 잘 작동합니다. 다음으로, 이미 사용자가 데이터를 가지고이 뷰로 돌아가는 경우와 각 콤보 박스에 이미 채워진 적절한 데이터가 주어진다.실버 4 RIA는 복잡한 객체
나는 데이터를 얻기 위해 하나씩 모든 전화를하고 싶지 않습니다. 이것은 낭비가되는 것 같습니다. 대신 한 번의 호출로 모든 데이터를 한 번에 반환하고 싶습니다. RIA WCF Services를 사용하여 이것을 달성하는 가장 좋은 방법은 무엇입니까?
내가 시도한 바가 있지만 기대했던대로 작동하지 않습니다.
A)는 I은, 서버 측에서 클래스를 만들어이 유형을
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
}
한 번에 복잡한 객체의 여러 목록을 반환하는 방법이 있나요, 아니면 서로 연결 여러 통화를 할 운명입니까?