【发布时间】:2015-03-09 15:23:10
【问题描述】:
我有一个从串行端口连续读取数据的 Windows 服务,我希望能够通过该服务使用 WCF 向 WPF 应用程序通知更新的数据;我考虑过使用回调。
Windows 服务会调用 WCF 服务的方法,而该方法又会调用 WPF 应用程序回调:
[ServiceContract(CallbackContract = typeof(IUpdateCallback))]
public interface IMyService
{
[OperationContract]
void Update(UpdatedData data);
}
public interface IUpdateCallback
{
void OnUpdate(UpdatedData data);
}
这就是我计划实施服务的方式:
public class MyService : IMyService
{
public void Update(UpdatedData data)
{
var callback = OperationContext.Current.GetCallbackChannel<IUpdateCallback>();
callback.OnUpdate(data);
}
}
然后从客户端App端:
public class UpdateCallback : IUpdateCallback
{
public void OnUpdate(UpdatedData data)
{
// Update data logic...
}
}
我是在正确的轨道上,还是有更好的方法来做到这一点?
【问题讨论】:
标签: c# wcf windows-services ipc