在WCF中,您可以为具有[DataContract]的任何内容指定名称空间前缀,如下所示:
[DataContract(Namespace="MyApp")] public class whatever...
但是,如果要将程序命名空间应用于程序集范围内的所有数据协定,则可以使用ContractNamespaceAttribute:
/* in AssemblyInfo.cs */ [assembly: ContractNamespace("MyApp",ClrNamespace = "MyApp")] /* in whatever.cs */ [DataContract] public class whatever...
多数民众赞成,工作正常.现在,在ServiceContract方面,我可以在服务接口上执行相同的命名空间设置:
[ServiceContract(Namespace="MyApp")] public interface whateverService...
但是有没有类似于[assembly:ContractNamespace]的东西可以用来为所有[ServiceContract]设置命名空间?我真的很想避免为许多服务手动设置它,它很好地将它放在数据合同的一个位置.
由于数据协定有一个程序集级命名空间属性,我希望服务合同也有一个…
解决方法
不,您不能 – 您必须在WCF中非常明确,并且必须在每个ServiceContract上显式设置名称空间等内容.我甚至可能会在每一个DataContract上做这件事 – 只是为了清楚我正在做什么.
不过,这是件好事!明确也会使你的意图明确 – 相信我,在一个复杂的系统中,这有助于你!
渣
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。