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.anti-gravitydesign.com