MVVM 아키텍처를 사용하여 샘플 WPF 응용 프로그램을 만들려고합니다. 나는 Employee
클래스 {DTO}에 해당하는 View 및 viewmodel이있는 모델을 가지고 있습니다.MVVM 모델과 WCF의 관계
마찬가지로 이전에 만든 모델 {Employee}을 사용하도록 WPF 응용 프로그램의 참조가있는 WCF 서비스를 만들었습니다.
내 시나리오는 모든 직원의 서비스 목록을 가져와야한다는 것입니다.
public class Service1 : IService1
{
EmployeeData EmpData = new EmployeeData();
public ObservableCollection<Employee> loadAllEmployees()
{
return EmpData.LoadAllEmployees();
}
(가) MVVM 모델 클래스 참조가 다음과 같이 그 코드 이다. EmployeeService 내 WCF 서비스
public ObservableCollection<Employee> EmployeeList
{
get
{
return employeeList;
}
set
{
employeeList = value;
NotifyPropertyChanged("EmployeeList");
}
EmployeeService.Service1Client EmpService = new EmployeeService.Service1Client();
EmployeeList = EmpService.loadAllEmployees();
이다 그러나 여기이 늘 올 EmployeeService.Employee
의 목록으로 EmployeeList
을 delcare 경우
Cannot Implicitly convert type System.Collections.Object.ObservableCollection<WPF_TestProj.EmployeeService.Employee> to System.Collections.Object.ObservableCollection<WPF_TestProj.Model.Employee>
로 오류에 직면하고있다,하지만 내 서비스가 필요 없다 아래와 같이 모든 직원을로드 코드입니다 Employee
클래스.
제게 잘못 생각해주세요.
+1 간결하고 완전하게 올바른 대답 –
WCF를 사용할 때 공유 라이브러리가 필요하지 않습니다. WCF 서비스가 복잡한 유형 (이 경우 Employee)을 노출하면 WPF 내에서 서비스 참조가 만들어지면 Employee 유형이 WPF 프로젝트 내에서 만들어집니다. – MotoSV