gpt4 book ai didi

.net - 使用 ContractNamespace 属性设置 WCF DataContract 命名空间

转载 作者:行者123 更新时间:2023-12-01 01:33:26 24 4
gpt4 key购买 nike

在设计我的服务时,我决定自定义出现在生成的 WSDL 中的命名空间。

对于 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 命名空间,该属性会影响程序集范围内的所有数据契约。

最佳答案

如果我没记错的话,如果ClrNamespace被省略,则合约命名空间设置适用于全局命名空间中的对象。

关于.net - 使用 ContractNamespace 属性设置 WCF DataContract 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com