ASP.NET 2.0 Ajax程序:使用HTTP GET进行调用
发表于:2008-04-08来源:作者:点击数:
标签:Ajax程序
——此文章摘自《ASP.NET AJAX程序设计:第II卷(客户端)》定价:55元 特价:41.25元 购买 在使用ASP.NET AJAX异步通信层对 Web Service进行异步调用时,默认应用的是HTTP POST方式。但为了提供足够的灵活性,ASP.NET AJAX异步通信层同样允许我们使用HTTP GE
——此文章摘自《ASP.NET AJAX程序设计:第II卷(客户端)》定价:55元 特价:41.25元 购买>>
在使用ASP.NET AJAX异步通信层对Web Service进行异步调用时,默认应用的是HTTP POST方式。但为了提供足够的灵活性,ASP.NET AJAX异步通信层同样允许我们使用HTTP GET进行调用。
使用HTTP GET进行调用时,方法的参数均被序列化成JSON字符串,然后经过URL编码并添加至URL后面送回给服务器处理。关于GET和默认的POST方式的比较,在第2章中已经有过详细介绍,这里不再重复。
若想以HTTP GET的方式对某个Web Service中的方法进行调用,那么只要为该方法添加[ScriptMethod(UseHttpGet = true)]属性即可。例如对于3.1节中的示例程序,我们可以按照如下代码修改服务器端Web Service中方法的定义,注意其中粗体部分:
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public string SayHelloUsingGET(string name)
{
return string.Format("Hello {0}!", name);
}
再次运行该示例程序,并打开HTTP嗅探器,可以看到本次异步调用确实使用了HTTP GET。如图3-9所示。
在使用HTTP GET请求Web Service时,特别要注意安全性问题。一般来讲,只有在没有暴露敏感信息且没有关键操作(例如删除/更新数据)等安全的情况下,才可以使用HTTP GET。
图3-9 使用HTTP GET调用Web Service
原文转自:http://www.ltesting.net