我们最近尝试在我们的项目中使用 XML-RPC.Net 库。服务器(.Net Remoting)和客户端都是根据我们在http://xml-rpc.net/上找到的说明制作的。
连接已经建立,我们从服务器获取数据等等。
正如标题所述,现在,我们想知道如何使在第一次客户端调用之后创建的 XML-RPC 服务器实例能够向 WPF UI 提供反馈。我们想要完成的是在服务器属性上注册一个事件,以便调用可以到达 UI 线程。
我们对这方面的任何建议持开放态度。
这是在服务器端注册频道的代码:
IDictionary props = new Hashtable();
props["name"] = "SubsetHttpChannel";
props["port"] = 5678;
channel = new System.Runtime.Remoting.Channels.Http.HttpChannel(
props,
null,
new XmlRpcServerFormatterSinkProvider()
);
ChannelServices.RegisterChannel(channel, false);
RemotingConfiguration.RegisterWellKnownServiceType( typeof(SubsetServer), "subsetserver.rem", WellKnownObjectMode.Singleton);
这是显示在 UI 上创建 Server 实例后我们希望如何设置属性的代码:
Server = new SubsetServer();
Server.Machine.OnChangeState += delegate(State actual, State next, Event pEvent)
{
uiWindowInstance.PostMessage(string.Format("Subset Server: {0} -> {1}", actual.Name, next.Name));
};
使用的技术:VS2012、WPF 4.5 和 XML-RPC.NET 2.5.0
提前致谢