高手请入:WebService如何做到服务器端的异步?

zhengyun_ustc 2005-03-11 01:22:09
我的WebService想尽量多地响应用户并发请求,但是由于后面所要查询的东西的并发量有限制,而且可能很慢,所以WebService接下的用户请求我想存入MSMQ对列里面缓存起来,慢慢处理。
这样的话,就需要WebService自己来做异步机制,就是查询成功后,还要返回给调用者数据。

这个如何做到呢?
是否可以WebService将请求发送到MSMQ之后,就订阅一个事件。然后后面的主服务查询出来之后,发布这个事件,这样WebService就收到了。是否可以这样呢?
...全文
308 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
wszl 2005-08-04
  • 打赏
  • 举报
回复
mark
batistuta97 2005-07-15
  • 打赏
  • 举报
回复
学习
ExtUSA 2005-03-17
  • 打赏
  • 举报
回复
老看文档修修布布是没有出路滴
DeltaCat 2005-03-17
  • 打赏
  • 举报
回复
学习
TonyTonyQ 2005-03-17
  • 打赏
  • 举报
回复
xx + mark + up + jf
lovelxj 2005-03-16
  • 打赏
  • 举报
回复
WEB SERVICE 我只会提供服务 细节 还真是没有注意到呢
remoting 可能在这个方面有优势
jackie615 2005-03-16
  • 打赏
  • 举报
回复
来学习!
hedonister 2005-03-15
  • 打赏
  • 举报
回复
赶紧搬凳子来看看
zhouzh197895 2005-03-14
  • 打赏
  • 举报
回复
up
hedonister 2005-03-13
  • 打赏
  • 举报
回复
凑个热闹,学习
godwater8 2005-03-13
  • 打赏
  • 举报
回复
我也正做一个WebService项目 学习一下
rocklabzhang 2005-03-12
  • 打赏
  • 举报
回复
mark
smx717616 2005-03-12
  • 打赏
  • 举报
回复
学习, LoveCherry我刚想该成这个名。。。
Frewin 2005-03-12
  • 打赏
  • 举报
回复
学习
haoco 2005-03-11
  • 打赏
  • 举报
回复
up
LoveCherry 2005-03-11
  • 打赏
  • 举报
回复
学习
lovelxj 2005-03-11
  • 打赏
  • 举报
回复
哇 学习
kenMoxi 2005-03-11
  • 打赏
  • 举报
回复
现在对wen service不是很熟悉!
学习中……
zhengyun_ustc 2005-03-11
  • 打赏
  • 举报
回复
参考http://blog.joycode.com/mvm/archive/2004/03/08/15308.aspx:

用WSE 2.0在XML Web Services里面实现Callback
XML Web Services原先的一个问题是不能实现真正的Callback。比如用ASP.NET实现的时候,每一个[WebMethod]都是一个远程方法调用,但只支持方法效用而不支持事件(Event),不能像本地调用可以传一个Delegate来实现Callback(Callback、函数指针、Listener模式、中断等其实都是一回事,都是一种事件响应)。

Web Services里面不能支持事件是很不方便的,很多应用就受限制,或者因此就放弃了Web Services技术。当然,也有一些Workaround,比如可以轮询——Outlook Web Access就是轮询的,所以能做到有email来就在屏幕右下角出一个小窗口,效果和MSN Messenger一样,这很酷;或者也可以在客户端起一个Remoting的服务器,把Remote Object的URI传给Web Services,等事件来了以后服务器再去Call客户端,这当然也是也可以。

不过这些Workaround要么有些缺点(性能问题),要么不够直接(Remoting太“重”了)。这就好像你可以在JavaScript里面实现全部的OO,但这会非常非常繁琐。这又好像通过Attribute可以在.NET里面实现AOP,但总感觉不直接。

WSE 2.0 (Web Services Enhancements 2.0)提供了一些TCP Messaging的功能,很好地解决了这个问题(在Web Services架构里面实现原生的Callback)。我写了一个简单的例子来演示Web Services如何支持事件回调:
jiezhi 2005-03-11
  • 打赏
  • 举报
回复
mark
加载更多回复(3)

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧