小编Rob*_*ert的帖子

自托管WCF服务:如何从托管应用程序访问实现服务合同的对象?

我在WPF客户端中自托管WCF服务.我想显示服务在用户界面中收到的数据.每次收到一些数据时,都应更新用户界面.

"App.xaml.cs"中的代码如下所示

    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();
    }
Run Code Online (Sandbox Code Playgroud)

如何从托管WPF应用程序获取实现服务合同的对象实例?


谢谢大家的答案.

我没有看到的是ServiceHost的构造函数允许传递服务的实例而不是其类型.

所以我现在做的是:

  • 在服务实现中使用ObservableCollection
  • 将服务配置为单例(请参阅burningmonk的注释)
  • 绑定到我的WPF应用程序中的ObservableCollection
  • 使用数据绑定属性DataContext获取服务的实例
  • 将它传递给ServiceHost的构造函数

结果:单例WCF服务中的每个更新都反映在UI中.

快乐!

c# data-binding wpf wcf

7
推荐指数
1
解决办法
9600
查看次数

标签 统计

c# ×1

data-binding ×1

wcf ×1

wpf ×1