c# – 在WPF中自托管WCF

感谢Kent Boogart的答案现在一切都好.非常感谢您的所有答案!

你好,

我需要在WPF gui中自己托管一个WCF服务.我正在使用ServiceHost.

但我仍然无法解决问题.

首先我主持一项服务:

ServiceHost host;
Service.ISORClient service = new Service.SORClient();
//The next are in window constructor
host = new ServiceHost(service);
host.Open();

我想按下按钮时刷新数据,所以:

dataGrid1.ItemsSource = service.GetPatients();

它有效,但只有一次.如果我尝试刷新一次以上,它就不起作用了.

这是我的WCF服务声明:

    [ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
    public class SORClient : ISORClient
    ... and all the methods come here...

奇怪的是,当我从客户端应用程序连接时.我可以获得所有数据,一切都是正确的.我只是无法将数据导入GUI(好吧,我只能得到它一次).

非常感谢你提前!

最佳答案 抛开设计问题,我怀疑你被
the Equals() override issue咬了.

试试这个证明:

dataGrid1.ItemsSource = null;
dataGrid1.ItemsSource = service.GetPatients();
点赞