Web服务和事件

时间:2013-01-15 10:37:04

标签: c# web-services events delegates asmx

我不确定这是否可行,并且在网上进行了一些快速搜索,我认为不是这样,但是现在这样。

我有一个Web服务(旧学校.asmx),它从数据库中检索项目列表。我希望我的客户端应用程序会通知客户端应用程序INSTEAD中的任何项目,并经常向Web服务发出请求。这可能吗?

我知道这可以通过WCF(双工通信)实现,但由于并发症,我不能使用这种方法。

哎呀我刚刚意识到我还需要Web服务自我调查或者异步调用它?不要以为这是一个很好的解决方案......

提前致谢,Onam。

1 个答案:

答案 0 :(得分:1)

它是轮询(由客户端发起)或维护像Exchange,Imap等会话。经典的.asmx通信由客户端发起。因此它不提供任何事件。

您可以通过开发客户端托管的回调服务来实现双工。然后,您的Web服务可以调用回调客户端。但是,您必须找到一个很好的解决方案来注册和注销客户端到Web服务。

实际上,让数据库调用每个轮询上的项目我不是一个好主意。您可以将结果缓存在Web服务引用的逻辑层中。如果您更喜欢经典的.asmx方法,则可以创建一个bool方法来检查新数据是否在逻辑实现的缓存中。这会降低onpact的性能,然后轮询服务器也不会那么糟糕。