0

我有一个简单的问题。我正在使用 WCF 创建 Web 服务。我已经创建了所有的服务,但没有填充操作体。现在我有了从服务合同自动生成的 wsdl 文件。如果我稍后对操作实现进行编码,这种方法是“合同优先”吗?

4

2 回答 2

1

是的,因为您首先定义了您与任何使用您的 API 的人之间的合同。通常(但不总是)合约/API 是通过接口定义的。

编辑:正如 Namphibian 在评论中所说,如果您首先构建 Web 服务合同,那么您需要首先定义您的 WSDL 并从那里生成代码。我的回答假设您想首先开发一个 .NET API 合同,并且您将在事后将其公开为 Web 服务。

第二次编辑:我想补充一点,SOA 原则本身与 Web 服务无关。您可以构建仅通过其编码 API 公开的服务。

于 2015-06-14T07:12:01.993 回答
1

这并不完全正确。您首先模拟合同,但您仍然依赖 .Net 框架来生成 WSDL。在合同优先/WSDL 优先编码(自上而下)方法中,您使用 XML Spy 等工具编写 WSDL 文件。然后从 WSDL 生成代码。在您的方法中,您正在从接口创建 WSDL。

使用接口是进行此类开发的最成功的方式,但是您仍然首先编写代码。让我用一个例子来澄清这一点。通常在 SOA 架构中,开发人员遵循 WSDL 优先方法。在 WSDL 第一种方法中,您通常会提交 WSDL 文件以供公司中的 SOA 治理机构审查。然后将根据 SOA 治理策略测量此 WSDL 以查看它是否合适。一旦获得批准,才会生成代码工件。

你所做的没有错,但它不是合同优先的方法。

于 2015-06-14T21:55:30.447 回答