首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebMethod vs ScriptMethod

WebMethod vs ScriptMethod
EN

Stack Overflow用户
提问于 2009-06-02 19:36:19
回答 2查看 42.3K关注 0票数 45

我有一个带有[WebMethod]属性标记的方法的.NET 3.5ASPX place。我用jQuery调用它,在两个方向上发送JSON。这一切都很好用。我的问题是,[ScriptMethod]在应用于方法时会做什么?我已经尝试过了,它似乎产生了同样的结果。ScriptMethodWebMethod是否相同且可互换,或者其中一个提供的功能和/或开销是另一个没有的?总体而言,我发现自己对实现web服务的所有可用选项感到困惑,我想知道每个选项的优缺点。

EN

回答 2

Stack Overflow用户

发布于 2010-02-12 02:55:51

您可以在以下两个场景中使用ScriptMethod属性。

  1. 您正在使用jquery或任何其他ajax请求机制,但您希望请求是GET而不是POST。
  2. 您希望在javaScript中接收XML格式的响应。

如果您没有上述需求之一;您只需要一个使用ajax请求的JSON响应,那么您可以简单地使用WebMethod。

这里还有一个令人困惑的元素,什么时候使用ScriptService属性?如果您使用的是Microsoft Ajax客户端脚本框架,则使用此属性,此属性告诉服务器在客户端生成代理对象,以便您可以像调用普通对象一样调用函数。var MyRemoteObject = new RemoteObject();MyRemoteObject.getMessage(....),即使在使用ScriptService属性时,也不需要仅在上述场景中添加ScriptMethod属性。

一开始我很困惑,因为我认为ScriptService和ScriptMethod属性就像WebService和WebMethod属性一样协同工作。

票数 35
EN

Stack Overflow用户

发布于 2009-06-02 19:46:45

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可以是一个额外的注释。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/941484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档