Tôi đang tự lưu trữ một dịch vụ WCF trong một máy khách WPF. Tôi muốn hiển thị dữ liệu mà dịch vụ nhận được trong giao diện người dùng. Mỗi khi nhận được một số dữ liệu, giao diện người dùng sẽ được cập nhật.Dịch vụ WCF tự lưu trữ: Cách truy cập (các) đối tượng thực hiện hợp đồng dịch vụ từ ứng dụng lưu trữ?
Mã trong "App.xaml.cs" trông giống như
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();
}
Làm thế nào tôi có thể nhận được các trường hợp đối tượng (s) thực hiện các hợp đồng dịch vụ từ các ứng dụng WPF lưu trữ?
Cảm ơn mọi người đã trả lời.
Điều tôi không thấy là hàm tạo của ServiceHost cho phép chuyển phiên bản của dịch vụ thay vì loại.
Vì vậy, những gì tôi làm bây giờ là:
- Sử dụng một ObservableCollection trong việc thực hiện dịch vụ
- Cấu hình dịch vụ để trở thành một singleton (xem bình luận theburningmonk của)
- Bind to ObservableCollection trong ứng dụng WPF của tôi
- Nhận bản sao của dịch vụ bằng cách sử dụng thuộc tính dữ liệu DataContext
- Chuyển nó cho nhà xây dựng của ServiceHost
Kết quả: Mỗi cập nhật trong các dịch vụ WCF singleton được phản ánh trong giao diện người dùng.
vui vẻ!
Bạn có lớp học (MyService). Ithink bạn có nghĩa là: làm thế nào để có được ví dụ đối tượng (s). –
Cảm ơn bạn, điều đó đúng, tôi đã thay đổi câu hỏi. – Robert