4
在设计我的服务时,我决定自定义出现在生成的WSDL中的名称空间。使用ContractNamespace属性设置WCF DataContract名称空间
对于DataContracts,我遇到ContractNamespace属性,这似乎是一个很好的快捷方式,可以明确地为每个DataContract设置相同的名称空间。我最初的尝试是这样的:
[assembly:ContractNamespace("http://types.mycompany.com/2010/08/03")]
namespace MyCompany.MyContracts
{
[DataContract]
//...multiple datacontract classes here
}
令我惊讶的是,这并没有奏效。经过多次修补之后,我终于成功地将该属性的ClrNamespace属性设置为等于我的CLR名称空间(示例中的MyCompany.MyContracts)。所以像这样的东西
[assembly:ContractNamespace("http://types.mycompany.com/2010/08/03",
ClrNamespace="MyCompany.MyContracts")]
我的问题是:为什么这不工作的第一种方式?我的期望是,通过不指定CLR namepsace,这个属性会影响程序集范围内的所有数据协议。
是的,它清除它。我甚至不熟悉全球名字 – Michael 2010-08-04 20:58:36