asp.net - WebMethod 与 ScriptMethod

标签 asp.net web-services pagemethods

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

最佳答案

您可以在以下 2 个场景中使用 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 属性一样。

关于asp.net - WebMethod 与 ScriptMethod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/941484/

相关文章:

c++ - gSoap:如何优雅地关闭 web 服务应用程序?

java - 使用两种不同的 JAX-WS 客户端实现

javascript - pagemethods 未定义 - 我相信一切都应该没问题

jquery - sweetAlert - 不在确认按钮点击时调用函数

javascript - 页面回调后更改js函数

c# - 如何在异步 ASP.NET Web 服务调用上定义客户端超时?

javascript - PageMethods 与 ASP.Net MVC

javascript - 如何实现超快的 ASP.NET AJAX 回调/PageMethods

jquery - HTTP 500 错误 jQuery Ajax 与 Web 服务

asp.net - Global.asax 未处理的异常