2012-01-12 30 views
2

简单,因为...是ServiceBehaviour的命名空间对于Web服务版本控制很重要?这意味着客户端向服务器的前向/后向兼容性是以任何方式涉及的这个名称空间?ServiceBehaviour的名称空间对于Web服务版本控制很重要吗?

我真的不明白什么是这个特定的命名空间及其用法。有没有人能让我知道这件事?

谢谢!

EDIT1:我的调查,在此之后的命名空间出现在WSDL在这里的第一行:<wsdl:definitions name="SvcTest" targetNamespace="api.company.com/Services/Tester"> ...但我不认为这是否会影响或不在版本...也许我是盲人或错过的东西。或者也许我太担心......为什么我会在这里添加一些日期(<wsdl:definitions name="SvcTest" targetNamespace="api.company.com/Services/Tester/2012/01">)?

EDIT2:我发现这个链接,但指向另一个不可用的位置:http://social.msdn.microsoft.com/Forums/en/wcf/thread/66c19783-6675-4bd7-83c1-2140d00a943e。谁能帮忙?

+2

我同意downvote没有留下任何评论 – 2012-01-12 15:30:04

+1

感谢您的同情hugh :) – Learner 2012-01-12 15:39:54

+0

为什么不尝试改变命名空间,看看这是否改变了产生的WSDL?一定要使用wsHttpBinding来最大限度地提高WSDL的复杂性(通过更改命名空间可以更改更大的元素集)。 – 2012-01-12 19:49:29

回答

1

是的,在一些读数后...

微软建议使用命名空间来版本数据合同。见Best Practices: Data Contract Versioning

虽然在这些例子名称(通过附加一个“2”)改变了,建议是用版本号或日期追加新的命名空间来更改命名空间,而不是名字。例如,http://schemas.contoso.com/2005/05/21/PurchaseOrder数据合同将更改为http://schemas.contoso.com/2005/10/14/PurchaseOrder数据合同。

的命名空间可以在不同的地方进行设置(ServiceContractAttribute的,ServiceBehaviorAttribute,DataContractAttribute,见WCF service namespaces)。

要在WSDL中拥有一致的名称空间并跟踪对合同,行为或数据合同的更改,这似乎很重要。

+0

虽然这是一个很好的链接,但并没有对服务行为的名称空间提出任何意见 – Learner 2013-10-28 14:11:57

+0

对不起,您是对的。我有点太快,没有完全阅读你的问题。我编辑了答复。 – robor78 2013-10-28 15:00:57

+0

是的,的确看起来很重要,虽然很难理解...... – Learner 2013-10-29 13:17:38

相关问题