【Web Service 可以支持事件吗?】

aawolf 2004-04-01 06:26:21
我的意思是说,当Web Service的数据发生变化后,如何通知调用Web Service的Client,有办法吗?

我现在能想到的就是让Client定时调用Web Service,但大家还有其他的好办法吗?
...全文
189 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
gengwei80 2004-04-15
  • 打赏
  • 举报
回复
客户端定时通用
<html>
<head>
<script language="JavaScript">
var iCallID;
var service_MsgXML = new ActiveXObject("MSXML.DOMDocument");
function init()
{
service.useService("http://gengw/jyjd/service/service.asmx?WSDL","service");
iCallID = service.service.callService("GetUserList",7);
}


</script>
</head>
<body onload="init()">
<div id="service" style="behavior:url(http://gengw/chat/webservice.htc)" onresult="onWSresult()">
</div>
<SCRIPT language="JavaScript1.2">
function onWSresult()
{
if((event.result.error)&&(iCallID==event.result.id))
{
var xfaultcode = event.result.errorDetail.code;
var xfaultstring = event.result.errorDetail.string;
var xfaultsoap = event.result.errorDetail.raw;
alert(xfaultstring);
// Add code to output error information here
}
else
{
var xmlResult = event.result.raw.xml;
// var result = event.result.value;
// alert(result);
if (xmlResult != "" && xmlResult != null)
{

service_MsgXML.loadXML(xmlResult);
maxNum = service_MsgXML.getElementsByTagName("msgcontent").length
column=service_MsgXML.getElementsByTagName("msgcontent").item(0).childNodes
alert(maxNum);
service_ChatMsgs.innerHTML = "";
for (m=0;m<=maxNum-1;m++){
//for(x in service_MsgXML.documentElement.childNodes)
//alert("The method returned the result : " + xmlResult);
// service_ChatList.innerText = service_MsgXML.selectSingleNode("//msgtime").text;
// service_ChatList.scrollTop = 2000;
// mName=column.item(m).tagName;
service_ChatMsgs.innerHTML += service_MsgXML.getElementsByTagName("msgtime").item(m).text+":<br>";
service_ChatMsgs.innerHTML += service_MsgXML.getElementsByTagName("msgcontent").item(m).text+"<br>";
//service_ChatMsgs.innerHTML += "<br>";
//service_ChatMsgs.innerHTML += service_MsgXML.selectSingleNode("//msgcontent").text;
//service_ChatMsgs.scrollTop = 2000;
}
}
window.setTimeout('iCallID = service.service.callService("GetUserList",7);',3000);
}
}
</script>
<Div id="service_ChatMsgs" style="Height:100%;Width:100%;Overflow:Auto;"></Div>
</body>
</html>

ssdjmcj8048 2004-04-14
  • 打赏
  • 举报
回复
目前的.Net中不支持,有一些通过消息转换实现的例子(codeProject)。WSE2.0好像也能够支持标准的delegate
newcsdn 2004-04-14
  • 打赏
  • 举报
回复
不知道webservice Soap中规定的message是不是属于(或者)相当于事件?
请高手作答
commars 2004-04-13
  • 打赏
  • 举报
回复
UP!
zkcsdn 2004-04-12
  • 打赏
  • 举报
回复
服务器端生成某个事件EventName时,会自动生成beginEventName和endEventName事件;
客户端在调用时:
1、调用用beginEventName;
2、等待;
3、调用endEventName获取返回值。
dawave 2004-04-11
  • 打赏
  • 举报
回复
如果各位一定要用事件这词,还不如用轮询,是客户端在不停的询问有没有数据变化,基本和事件没什么关系了。这么想,就知道密集地轮询会把服务器拖垮的了。
qm0445 2004-04-08
  • 打赏
  • 举报
回复
支持事件
qm0445 2004-04-08
  • 打赏
  • 举报
回复
否支持事件的
好运 2004-04-08
  • 打赏
  • 举报
回复
学习
gengwei80 2004-04-07
  • 打赏
  • 举报
回复
up
bflovesnow 2004-04-02
  • 打赏
  • 举报
回复
mark
aawolf 2004-04-02
  • 打赏
  • 举报
回复
谢谢大家的发言。
这里的客户端不仅仅是ASP。NET,也可能会是FORM或者智能客户端。我所希望了解的就是Web Service是否支持事件,如果支持,有如何实现的资料吗?
oceanh 2004-04-01
  • 打赏
  • 举报
回复
下载这个webservice.htc
http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/downloads/samples/internet/behaviors/library/webservice/default.asp

一个使用webService并回调结果通知IE client的实例代码:
http://superexpert.com/default.aspx?id=436
huangsuipeng 2004-04-01
  • 打赏
  • 举报
回复
还是用。NET REMOTING
online 2004-04-01
  • 打赏
  • 举报
回复
看无刷新网页
http://expert.csdn.net/Expert/topic/2850/2850538.xml?temp=.8761255
CMIC 2004-04-01
  • 打赏
  • 举报
回复
同意 net_lover(孟子E章) ,Web Service怎么知道Client与它相连。
hertcloud 2004-04-01
  • 打赏
  • 举报
回复
还没有学习到Web Service
关注!
孟子E章 2004-04-01
  • 打赏
  • 举报
回复
你怎么知道CLient在连接你的服务器哦,事件是可以发的,但耗费服务器资源,不如用户请求时再更新数据

12,166

社区成员

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

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