在为命名空间生成svcutil之后,我怀疑我的服务合约名称空间。
设置如下:
[ServiceContract(Name="Colors", Namespace="http://colors.com/colors/2011/05")]
使用svutil生成的代理代码创建了以下命名空间:
namespace colors.com.colors._2011._05
我上面遇到的问题是我没有看到很多看起来像上面的名称空间,特别是_2011._05的日期部分让我怀疑这是否是在服务合同上设置名称空间的正确方法。 / p>
答案 0 :(得分: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)