서비스 참조에서 일부 데이터를 수신했습니다.WCF (WPF) 오류 : 호출 스레드가 STA 여야합니다.
구조체 f.e.
서비스 참조 (namespace : ServiceReference.Driver)에서 일부 드라이버 데이터를 수신했습니다.
내 프로젝트의 driverdata의 네임 스페이스는 'MyProject.Driver'입니다.
DriverUserControl은 MyProject.Driver의 생성자에서 만들어야합니다. 내가 여기에 도착하면
public Driver(int id, string name, string telephone, string plate,
Dictionary<DateTime, TransportType> transportTypes, Division division)
{
this.id = id;
this.name = name;
this.telephone = telephone;
this.plate = plate;
this.transportTypes = transportTypes;
this.division = division;
userControl = new DriverUserControl(this);
}
는 그러나 "많은 UI 구성 요소이 필요하기 때문에, 호출 스레드는 STA해야한다"는 다음과 같은 오류 해당 UserControl의 생성자에 도달 할 때마다
public DriverUserControl(Driver magnet)
{
InitializeComponent();
this.magnet = magnet;
Render();
}
을 보여줍니다.
내 프로젝트에서 아무 곳에서나 스레드를 시작한 적이 없기 때문에 STA로 설정하는 방법을 모르겠습니다. 나는 servicereference가 스레드로 여겨지지만, 여전히, 이것을 STA로 변경하는 방법이 있습니까?
감사합니다.
왜 'Driver' 클래스에서 Usercontrol을 만들겠습니까? – Jobo
'Driver' 객체는 어디에 생성됩니까? 이 모든 것에서 ServiceReference의 역할은 무엇입니까? 분명하지 않아. – YK1
Driver 생성자가 호출 된 스레드는 무엇입니까? MainStore가 STA인지 여부를 확인하려면 디버깅해야합니다. 그렇지 않으면 수동으로 STA 스레드를 만들어야합니다. –