社区
Web Services
帖子详情
*.htc 是什么文件?干吗使得?怎么生成的?
Rossetti
2003-10-29 11:16:26
同题。
...全文
720
4
打赏
收藏
*.htc 是什么文件?干吗使得?怎么生成的?
同题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
26091278
2003-11-05
打赏
举报
回复
第一步
WebService.htc文件首先被附加在Web页面的一个元素里。HTML组件(WebService.htc)在内部使用SOAP同服务器上的Web服务进行通信。
下面这一段HTML说明了如何使用样式属性把Web服务行为附加到HTML元素里。(如果你正在使用Visual Studio.NET IDE,那么就要打开.aspx页面并切换到HTML选项卡。)
<div id=divWSBehavior style="behavior: url (webservice.htc)" onresult="GetData()" >
Web服务行为被附加到了隐藏字段txtWSBehavior里。另一个重要的属性是onresult属性。当被调用的方法返回一个结果的时候,onresult事件被这个行为触发。这个属性指向GetData函数。
在onresult事件被触发的时候,GetData就被调用,而且,在这个函数内部,返回的结果就成为可用的了。Onresult事件只对附加有Web服务行为的文档里的对象有效。
以下是一个可能的GetData函数的模板:
<script>function GetData() {if((event.result.error)&&(iCallID==event.result.id)) {var xfaultcode = event.result.errorDetail.code;var xfaultstring = event.result.errorDetail.string;alert("Error");} else{if (event.result.value == 0) {divWSBehavior.innerHTML = "Product By that name does not
exist.";} else if(event.result.value == 0){divWSBehavior.innerHTML = "Error: " + xfaultstring;} else{divWSBehavior.innerHTML = event.result.value;} } }</script>
事件对象可以通过这个函数来访问。这个对象只有在事件期间,也只有在事件句柄里才能够被使用。这里,GetData函数是一个事件句柄。事件对象公开了各种子属性。表A概述了每一个子属性,它们在这个特定的情形里对我们是很有用的。
表A
属性名称描述
event.result.id
它返回唯一一个和方法调用的实例相关联的标识符。
event.result.value
它返回的是方法调用的值。该值的数据类型由服务描述里对方法的定义来决定。
event.result.error
它返回一个布尔函数的真/伪值,用以指明方法的调用是否成功。
event.result.errorDetail.code
它返回一个错误码。
event.result.errorDetail.string
它返回一条错误信息。
只有在错误发生的时候errorDetail对象才是可用的。div标签的innerHTML属性是根据返回的值来进行填充的。
第二步
你必须下载Webservice.htc文件并把它放置到Web页面的文件夹里(虚拟目录)。(你可以在此下载这个文件。)
这一步其实是使用Web服务行为来增强安全的限制方法。HTC仅仅是个脚本,所以使用Web服务行为和在HTML页面里运行脚本是一样安全的。安全级别并不等同于ActiveX控件所提供的安全级别。在同一个Internet域里把HTC文件和Web服务作为HTML页面能够防止其他域使用这个服务。
第三步
在你能够更进一步使用Web服务之前,它必须使用useService方法来启动。做到这一点的理想方法是创建一个InitService函数,并调用主体标签onload事件里的InitService函数,见下面的代码。一旦页面的内容被载入,服务就被启动了。
<script>
function InitService( ){
divWSBehavior.useService("http://localhost/ProductManager/Pricing.asmx?WSDL","ProductPrice");
}
</script>
<body onload=”InitService()”>
</body>
第一个参数是通向带有?WSDL查询字串的Webservice路径。第二个参数是要被启动服务的友好名称。一旦被启动,这个友好名称可以被用作Web服务的参照。
第四步
一旦Web服务被启动,它就能被使用了。你可以像下面这样使用这项服务:
function GetProductPrice( ) {
var sProductName;
sProductName = document.frmServer.txtGetPrice.value;
iCallID = divWSBehavior.ProductPrice.callService("GetPrice",sProductName);
}
callService的第一个参数是Web服务内部的函数名。
样本应用程序
我已经包含一个你可以下载的样本应用程序。它连接到SQL服务器缺省安装的Northwind数据库上。
用户接口有一个文本框,旁边还有一个GetPrice按钮。一旦用户输入了Product名称并点击了GetPrice按钮,价格就从Northwind数据库里的Products表格中被取回。Pricing Web服务的C#代码也被包含在了源代码里,你可以在此下载。
Rossetti
2003-11-03
打赏
举报
回复
再具体一点。
解释解释 webservice.htc 是什么?
如何用?
gucs
2003-10-30
打赏
举报
回复
学习
smalltree822
2003-10-29
打赏
举报
回复
,HTC提供了一个简单机制以在脚本中实现DHTML行为。一个HTC文件和HTML文件没有任何差别,并且以“.htc”为后缀,它包括脚本和一系列HTC自定义说明元素,这些元素定义了HTML组件的属性、方法、事件等,所有HTC元素通过对象的ID属性作为对象在脚本中使用,所有方法和属性均可在脚本中动态操作。
您可以使用HTC实现以下行为:
*设定属性和方法。通过“PROPERTY”和“METHOD”元素定义
*设置自定义事件。通过“EVENT”元素实现,用该元素的“fire()”方法释放事件,
通过“createEventObject()”方法设置事件环境。
*访问所包含该HTC的的HTML页的DHTML对象模型,使用HTC的“element"对象,返回
一个附加行为的元素,使用该对象,HTC可以访问包含文挡及它的对象模型(属性、方法、事件)。
*收取通知,使用”ATTACH“元素实现,浏览器不但通知HTC标准的DHTML事件,而且通
知HTC两种特殊事件:oncontentready事件和ondocumentready事件 。
HTC封装了行为的定义 ,行为的概念第一次出现是在IE5。0中,HTC中的高级行为封装就是行为不能和元素标记分离,在IE5。0中,在脚本中行为可以从元素中分离出来,而在IE5。5中,元素不能和其原始行为分离。
http://www.fbcdo.com/web/program/htmlno4/html1.htm
19、android面试题整理(自己给自己充充电吧)
(转载,出处丢失,请原作者原谅,如有意见,私信我我会尽快删除本文) JAVA 1.GC是什么? 为什么要有GC?GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内...
人类与AI结合的最佳形态是什么样?
文章发布于公号【数智物语】(ID:decision_engine),关注公号不错过每一篇干货。来源|A16Z合伙人Frank Chen翻译|尺度人工智能技术正在快速发展,将会给我们什么样的变化?人们应该如何与人工智能相处?注:A16Z全称Andreessen Horowitz,是一家知名风险投资公司。一般来说,你会在媒体的头版上看到两类报道。一类报道的标题是“机器人来抢你的...
Java网络编程面试题
Java网络编程面试题 1、tcp和udp的区别1 2、tcp连接建立的时候3次握手,断开连接的4次握手的具体过程1 3、什么是同步?什么是异步?2 4、.什么是阻塞?什么是非阻塞?5 5、什么是阻塞IO?什么是非阻塞IO?6 6、...
前端面试题 HTML、CSS、JS、Vue、Es6
第一部分 HTML&CSS整理答案 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HTML5推出的设计目的,以及现在市场的使用情况,浏览器支持情况等。。。。 设计目的 HTML5的设计目的是为了在移动设备上支持多媒体。新的语法特征被引进以支持这一点,如video、audio和canvas 标记。HTML5还引进了新的功能,可以真正改变用户与文档的交互方式,包括...
【逆天精品】Linux 2.x内核与Linux 3.x的区别!
前言: 时代在不断的进步,安卓也在飞速的发展。如今的安卓已经用上了Linux 3.6的内核,而U970却还是在用Linux 2.6来托安卓4.1系统,这个真的‘大丈夫’(看不懂算了.)吗? 这是我很久一起发的帖子的一个续集,如果没有看上一个帖子也无所谓了,反正都是点老掉牙的东西~首先说说安卓与Linux的关系: 安卓是基于Linux内核,但不是Linux操作系统。 ...
Web Services
12,162
社区成员
16,328
社区内容
发帖
与我相关
我的任务
Web Services
.NET技术 Web Services
复制链接
扫一扫
分享
社区描述
.NET技术 Web Services
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章