Samodzielnie obsługuję usługę WCF w kliencie WPF. Chcę pokazać dane, które usługa otrzymuje w interfejsie użytkownika. Za każdym razem, gdy niektóre dane są odbierane, interfejs użytkownika powinien zostać zaktualizowany.Samohostowana usługa WCF: Jak uzyskać dostęp do obiektu (obiektów) realizującego umowę o świadczenie usług z aplikacji hostingowej?
Kod w „App.xaml.cs” wygląda
private ServiceHost _host = new ServiceHost(typeof(MyService));
private void Application_Startup(object sender, StartupEventArgs e)
{
_host.Open();
}
private void Application_Exit(object sender, ExitEventArgs e)
{
_host.Close();
}
Jak mogę uzyskać instancję obiektu (ów) wdrażającego umowę serwisową z hostingu aplikacji WPF?
Dziękuję wszystkim za odpowiedzi.
Co nie widzę, że konstruktor ServiceHost pozwala przekazać instancji usługi zamiast jego typu.
Więc co mam teraz zrobić, to:
- Użyj ObservableCollection w realizacji usług
- skonfigurować usługę być pojedyncza (patrz komentarz theburningmonk za)
- wiążą się z ObservableCollection w moim aplikacji WPF
- Uzyskaj instancję usługi przy użyciu właściwości databinding DataContext
- Przekaż ją do konstruktora ServiceHost
Wynik: Każda aktualizacja usługi singleton WCF znajduje odzwierciedlenie w interfejsie użytkownika.
Happy!
Masz klasę (MyService). Myślę, że masz na myśli: jak uzyskać instancję (obiekty) obiektu. –
Dziękuję, to prawda, zmieniłem pytanie. – Robert