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