[英]WebMethod vs ScriptMethod
我有一個.NET 3.5 aspx的地方,其方法標有[WebMethod]
屬性。 我用jQuery調用它,在兩個方向發送JSON。 一切都很好。 我的問題是, [ScriptMethod]
在應用於方法時會做什么? 我試過這個,它似乎產生了相同的結果。 ScriptMethod
和WebMethod
相同且可互換的,還是一個提供了另一個沒有的功能和/或開銷? 總的來說,我發現自己與實現Web服務的所有選項相混淆,我想知道每個選項的優缺點。
您在以下兩個方案中使用ScriptMethod屬性。
如果您沒有上述要求之一; 您只需要使用ajax請求進行JSON響應,然后您就可以使用WebMethod。
這里還有一個令人困惑的元素,你什么時候使用ScriptService屬性? 如果您使用Microsoft Ajax客戶端腳本框架,則使用此屬性,此屬性告訴服務器在客戶端上生成代理對象,以便您可以像普通對象一樣調用函數。 var MyRemoteObject = new RemoteObject();
MyRemoteObject.getMessage(....)
甚至當您使用ScriptService屬性時,您不需要僅在上述場景中添加ScriptMethod屬性。
在開始時我很困惑,因為我認為ScriptService和ScriptMethod屬性就像WebService和WebMethod屬性一樣工作。
ScriptMethodAttribute屬性是可選的。 (但是,可以從客戶端腳本調用的方法必須應用System.Web.Services .. ::。WebMethodAttribute屬性。)。 如果方法未使用ScriptMethodAttribute標記,則將使用HTTP POST命令調用該方法,並將響應序列化為JSON。 您無法從腳本覆蓋此設置。
來自 - http://msdn.microsoft.com/en-us/library/system.web.script.services.scriptmethodattribute.aspx
編輯:WebMethod和ScriptMethod不是競爭屬性。 正如上面的段落所述,ScriptMethod可以是一個額外的注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.