【发布时间】:2009-07-07 10:38:01
【问题描述】:
我正在为我建立的网站创建一个 API。 API 将在 ASP.NET 中构建 - 可能使用 VB,并且需要被包括 PHP 在内的多个平台使用。
我已经阅读了一些关于 REST 与 SOAP API 的内容,并且对我应该走哪条路线感到困惑。我还需要一些可以用来入门的示例和框架。
【问题讨论】:
标签: asp.net vb.net api rest soap
我正在为我建立的网站创建一个 API。 API 将在 ASP.NET 中构建 - 可能使用 VB,并且需要被包括 PHP 在内的多个平台使用。
我已经阅读了一些关于 REST 与 SOAP API 的内容,并且对我应该走哪条路线感到困惑。我还需要一些可以用来入门的示例和框架。
【问题讨论】:
标签: asp.net vb.net api rest soap
来自本月的 MSDN 杂志:
RESTful XHTML: RESTful Services with ASP.NET MVC and XHTML
本文介绍如何使用 XHTML 和 ASP.NET MVC 实现 休息服务。亚伦·斯康纳德
【讨论】:
您可以使用多种技术组合来构建这些服务:
评估方法时需要考虑的一些事项:
一旦您消化了这些选项,我建议您查看一些框架,看看您最喜欢哪一个。由于完成工作有多种方法,您应该找到最适合您的需求和能力的方法。此外,无论是长期还是短期,您都可能希望开始尝试使用 Web 服务测试工具 - 我的建议是 SOAP UI。您可以使用 SOAP UI 以 SOAP 和 REST 格式使用现有的 Web 服务(例如 Flickr、Twitter、Amazon),并了解 API 的成功实施和在线运行情况。构建服务后,您还可以使用此工具对服务执行功能和负载测试。
【讨论】:
只需创建一个 Asp.net Web 服务(一个单独的项目或在同一个 Asp.net Web 表单应用程序中包含 Web 方法)或更高级的 WCF Web 服务(也可以包含在同一个应用程序中或单独)。这还取决于您想要在安全方面做什么。
如果您为 Asp.net Web 表单应用程序创建了单独的项目,则可以轻松地将这些项目/程序集与您的服务一起使用。
【讨论】:
您的 API 是否会提供比您网站已有的功能更多的功能?如果没有,为什么不让您现有的网页易于通过代码访问。这样您就不需要支持两个不同的接口。
如果您考虑一下,您现有的网页会提供相对容易解析的 html 内容。这些页面包含指向站点中其他功能的链接。这些页面包含用户当前看到的所有数据。
只要您现有的网站不使用会话状态,您可能已经拥有 RESTful API。
【讨论】:
REST 是一种简单的架构风格,用于设计易于从多个平台使用的 API。
SOAP 更复杂,但确实为许多额外协议提供了标准,例如事务可靠性、消息传递、安全性、身份验证等。
除非您正在编写复杂的企业消息传递系统,否则 REST 可能会很好(但不要引用我的话)。
您可能希望查看 Microsoft 的 WCF 网页中的 REST。 http://msdn.microsoft.com/en-us/netframework/cc950529.aspx.
【讨论】: