【发布时间】:2010-05-24 14:27:39
【问题描述】:
在 [Service Contract(Namespace="http://myuri.org/Simple")] 中,命名空间是做什么用的?我已经完成了 WCF 服务,但从未将其包括在内。它的目的是什么?
【问题讨论】:
在 [Service Contract(Namespace="http://myuri.org/Simple")] 中,命名空间是做什么用的?我已经完成了 WCF 服务,但从未将其包括在内。它的目的是什么?
【问题讨论】:
命名空间属性实际上是一个 XML 术语。它允许您保持元素的唯一性(类似于 .NET 对命名空间所做的)。因此,您可以拥有多个具有相同标签名称的元素,但只要它们具有不同的命名空间,它们就完全不同。根据MSDN,ServiceContractAttribute 类的Namespace 属性指的是以下内容:
“获取或设置 Web 服务描述语言 (WSDL) 中 <portType> 元素的命名空间。”
【讨论】:
如果您所在的大型组织(例如银行)可能有多个 Web 服务方法(如 GetDerivativeProduct() )的实现,则 D3 声明命名空间尤为重要。
来自 MSDN 文档:
强烈建议在 XML Web 服务公开使用之前更改此默认命名空间 http://tempuri.org。这一点很重要,因为必须将 XML Web 服务与可能无意中将命名空间用作默认名称 (http://tempuri.org/) 的其他 XML Web 服务区分开来。
【讨论】: