2011-05-26 69 views
1

在我为命名空间生成了svcutil之后,我对服务合约命名空间有所怀疑。我的服务合约名称空间是否正确?

这是设置这样的:

[ServiceContract(Name="Colors", Namespace="http://colors.com/colors/2011/05")] 

使用svutil生成的代理代码创建了以下命名空间:

namespace colors.com.colors._2011._05 

我有以上的问题是,我没有看到很多的命名空间看起来像上面特别是_2011._05的日期部分,这让我怀疑这是否是在服务合同上设置命名空间的正确方法。

回答

2

这很大程度上取决于您的服务合约版本控制方案,但许多标准规范在某些情况下确实在名称空间URI中包含某些日期组件,并且这样做很好。

我确实认为默认生成的代码命名空间看起来很丑,但无论您选择什么方案,这几乎总是如此。并且请记住,使用/ namespace开关运行svcutil时可以覆盖它:

/namespace:<string,string>   - A mapping from a WSDL or XML Schema 
             targetNamespace to a CLR namespace. Using 
             the '*' for the targetNamespace maps all 
             targetNamespaces without an explicit 
             mapping to that CLR namespace. Default: 
             derived from the target namespace of the 
             schema document for Data Contracts. The 
             default namespace is used for all other 
             generated types. (Short Form: /n) 
+0

感谢命名空间开关提示。 – Xaisoft 2011-05-26 15:33:57

相关问题