全文预览

计算机科学与技术 毕业设计 外文英文 文献 翻译

上传者:hnxzy51 |  格式:doc  |  页数:29 |  大小:0KB

文档介绍
对象有一般性限制,请求的范围仅限于加载页面的域(出于安全的原因),因此这一做法无法用于调用任意 Web 服务,无论客户端代理是否支持此操作。如果您发现需要调用外部 Web 服务,最好在您调用外部 Web 服务的.NET 代理类(使用 wsdl.exe 或 Visual Studio 中的“添加 Web 引用”生成)的应用程序中设置一个桥接的.asmx 端点。Р工作原理Р您可以采用标准的.asmx Web 服务,几乎不做任何更改即可在浏览器中通过客户端 JavaScript 对其进行访问,乍看起来有些匪夷所思。秘密就在于注册了一个新的.asmx HTTP 处理程序,并将其添加到了每个支持 AJAX 的网站的配置文件中: Р<httpHandlers>Р <remove verb="*" path="*.asmx"/>Р <add verb="*" path="*.asmx" Р type="Microsoft.Web.Services.ScriptHandlerFactory" Р validate="false"/>Р</httpHandlers>Р如果对一个.asmx 端点进行标准的 Web 服务请求,则这个新注册的处理程序将调用标准 Web 服务处理程序(System.Web.Services.Protocols.WebServiceHandlerFactory)。但是,如果请求在 URL 中有后缀/js 或者包含带有 mn= 变量的查询字符串(如?mn=GetStockQuote),则处理程序会返回一个 JavaScript 块,为 Web 服务创建一个客户端代理(带有/js 的情况),或者会调用 WebService 派生类中定义的相应方法,并把响应打包在 JavaScript Object Notation (JSON) 编码的字符串中(带有?mn= 的情况)。

收藏

分享

举报
下载此文档