添加一个web 服务messages.asmx
在messages.asmx里面定义方法
[WebMethod]
public string GetMessage(string userid)
...{
string strSql = " ";
DataSet ds = DBUtility.DbHelperSQL.Query(strSql);
return ds.GetXml();
}
在页面中调用时:(记得添加web引用)
function SentOnlineMsg()
...{
var accepterID =1;/
//alert(accepterID);
//alert(service);
//发送在线消息
service.useService("http://localhost/messages.asmx?wsdl","messages");
service.messages.callService(callback,"GetMessage",accepterID);
setTimeout("SentOnlineMsg()",30000);
//alert("定时");
}
function callback(res)
...{
//alert("callback");
if (!res.error)
...{
if(res.value!="" && res.value!=null)
...{
//alert(res.value)
var xmlDoc = new ActiveXObject("Microsoft.xmldom");
xmlDoc.async = "false";
xmlDoc.loadXML(res.value);
var mtitles=xmlDoc.getElementsByTagName("Subject");
var mids=xmlDoc.getElementsByTagName("MessagesID");
var arraylength=mtitles.length;
var contentArray = new Array();
var linkArray = new Array();
if(arraylength>0)
...{
for(i=0;i<arraylength;i++)
...{
contentArray[i] = mtitles(i).text;
linkArray[i]='/Message/MessageDetail.aspx?ID='+mids(i).text;
}
popMessage(214,140,"消息提醒",contentArray,linkArray,10000);
}
}
}
else
...{
//alert("Error");
alert(res.errorDetail.string);
}
}
function LoadMenu()
...{
//alert("Start");
//启动在线消息发送
SentOnlineMsg();
}

<body onload="LoadMenu()">
<form id="form1" runat="server">
<DIV id="service" style="BEHAVIOR: url(webservice.htc)"></DIV>
</form>
</body>
webservice.htc要下载
本文介绍如何通过创建WebService并定义GetMessage方法来获取消息数据,实现网页上的实时消息推送功能。文中详细展示了客户端调用WebService接口的具体实现方式。
418

被折叠的 条评论
为什么被折叠?



