.net - 从 Javascript 调用 Web 服务 - 它在幕后做了什么?

标签 .net asp.net javascript web-services

最近一位同事不得不从脚本中调用 .NET 2.0 Web 服务。我们注意到我们必须放置 [ScriptService] 属性,要么通过 AJAX 扩展,要么升级到 3.5。

这就是我所能找到的全部 - 没有人解释它在幕后做了什么!

谁能教教我?

谢谢 邓肯

最佳答案

严格来说,您不需要对 Web 服务做任何事情就可以通过脚本调用它。

看这里: How to call web service using vbscript (synchronous)?

网络服务只是一个可通过远程协议(protocol)寻址的系统,通常是基于网络的协议(protocol)。通常这意味着 HTTP。一个简单的请求可以通过特定 URL 上的 HTTP GET 执行 - URL 路径中的段或查询字符串构成 Web 服务请求的“参数”。

客户端可能会发送 HTTP GET 到

http://server/appPath/p1/p2/p3

在那里监听的应用程序将负责解压缩该 URL,可能将 p1、p2、p3 映射到查询参数,然后确定如何响应它。

对于更复杂的请求,事务可能是 HTTP POST,有效负载的格式是 XML、JSON 或您的应用程序指定的其他格式。

在这种情况下,URL 可能是这样的:

http://server/appPath/resource1

如果使用 JSON,POST 的有效负载可能是:

{"Age":35,"FirstName":"Peyton","LastName":"Manning"} 

如果使用 XML,它可能是:

<person>
  <Age>35</Age>
  <FirstName>Peyton</FirstName>
  <LastName>Manning</LastName>
</person>

您可以使用任何编程语言(包括 Javascript 等脚本)形成符合这些约束的请求。

如果您使用 SOAP,则该 XML 文档需要包装在 SOAP 信封中。 参见 Calling WCF service by VBScript例如(VBScript,但很容易翻译成 Javascript)。

关于.net - 从 Javascript 调用 Web 服务 - 它在幕后做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2111234/

相关文章:

c# - 为什么 Fakes 不能从预建的 Fakes 项目中正确引用 Fakes dll?

javascript - Google Recaptcha Ajax 响应奇怪的检查顺序

javascript - .ajax 将远程页面内容加载到 javascript var

C# 无法显示具有正确颜色映射的 RAW16 灰度图像

c# - 我能否以原始形式(例如包括引号)获取我的申请的论据?

asp.net - 你用什么让 javascript 更像 C# ?

c# - 这是在编辑模式下使用 GridView 格式的错误还是复杂的编码解决方案?

asp.net - 如何使用参数初始化 ASP.NET 用户控件?

javascript - 鼠标悬停/鼠标左移时的 JS slider

c# - 通过 LINQ 映射进行调用时增加 SQL 命令超时