WebService是一种通过Web提供独立于界面功能的方法,它使用简单对象访问协议(SOAP)这样一个开放标准来传递参数和接收返回值。Internet上有许多例子和文章可以帮助你创建WebService,并在传统的表单应用程序或服务器端使用,但是通过使用WebService行为,就可以在客户端浏览器中使用WebService。
从客户端浏览器调用WevService的好处之一是更快的响应服务器的速度,从而可以有更多互动的页面,用户感觉更方便。不用向服务器回传一个表单并接受一个新的页面(意味着从新下载图片和其它内容),在这种情况下WebService行为使用XMLHTTP只传递相应的内容,然后通过DHTML和脚本来向用户表示。
我所知道的目前支持行为特性的浏览器只有IE。众所周知,程序员不会使用只有IE支持的功能。但是,W3C已开始进行将这种CSS扩展作为将来标准的起草工作。
如果你决定现在就是用行为,先用下面的JavaScript函数检测以下你的客户端浏览器是否支持它:
function canUseBehaviors() {
var ua = window.navigator.userAgent;
var msiePos = ua.indexOf('MSIE');
var msieVer = 0;
var behaviorsAvailable = false;
var iHandle = 0;
if (msiePos >= 0) {
msieMajorVer = parseInt(ua.charAt(msiePos
+ 5));
msieMinorVer = parseInt(ua.charAt(msiePos
+ 7));
if (msieMajorVer >= 5)
{
if
(((msieMajorVer == 5) && (msieMinorVer >= 5)) ||
(msieMajorVer
> 5)) {
behaviorsAvailable
= true;
}
}
}
return behaviorsAvailable;
}
使用上面的函数,可以在运行期决定是否使用WebService行为来调用Web服务,以及使用IE的DHTML来表示结果,还是将表单提交给服务器并让服务器进行必要的操作,产生一个完整的页面。将使用CSS语法将WebService行为绑定到一个元素上不会影响不支持此种CSS语法的浏览器的工作。
微软为程序员提供了非常棒的参考来熟悉从客户端浏览器访问Web服务。程序员也可以在微软的网站上找到必须的HTML组件(*.htc)文件。
有了客户端WebService行为的帮助,程序员可以为Web消费者创建丰富的互动页面。它们的功能与那些在主框架或基于表单的应用程序中可以使用的Web服务是一样的。这减少了冗余的代码,加快了服务功能的反应时间,从而提升了用户的感受。