这是一个更多的“能不能做到”的问题,而不是“如何做到”的问题。我正在考虑构建一个服务(中间层,.net,提供数据抽象和一些业务逻辑),该服务将由不同平台上的多个内部客户端系统使用。例如。一个客户端可能是一个网站,另一个客户端可能是一些 Java 代码,另一个客户端可能是 C# 等。
我想在我的服务中提供同步和异步 API,例如GetData、BeginGetData、EndGetData 方法。我还希望客户能够注册新“数据”添加到系统的通知。过去,我使用带有 Tibco EMS 通知通道的 Web 服务来实现此功能。
我的问题是:我可以通过公开 WCF 服务来实现这三个要求(同步、异步和发布/订阅)吗?非 WCF 客户端可以使用此服务吗?
请原谅这个问题的模糊性 - 我可以根据需要进行详细说明。
提前致谢。
默认情况下,方法是同步的。要使它们异步,您需要添加此属性 [OperationContract(AsyncPattern=true)] 并返回 IAsynchResult,就像使用 winforms 执行 BeginIvoke() 一样。 (在这里阅读更多内容http://msdn.microsoft.com/en-us/library/ms734701.aspx http://msdn.microsoft.com/en-us/library/ms734701.aspx)
您可以使用称为回调合约的东西进行发布/订阅(尽管我不确定是否在其他平台上实现这一点)我对这些没有太多经验,但它们似乎并不十分完整(您可以在此处阅读更多内容)http://dotnetaddict.dotnetdevelopersjournal.com/wcf_alarmclock.htm http://dotnetaddict.dotnetdevelopersjournal.com/wcf_alarmclock.htm)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)