我有一个自动生成的WCF客户端,我认为我可以通过使用分部类并向其添加Metedatatype属性来添加数据注释。看似这不起作用;正如我从其他帖子中看到的,MetadataType需要注册,我尝试过这种方法,但没有成功。
如果我将验证属性直接放在字段上,则验证有效,也许我应该这样做并手动创建客户端DTO,但我想知道是否有人知道如何使这个工作。
如果人们认为它会有所帮助,我会很乐意发布一些代码。
感谢。
答案 0 :(得分:0)
在您的解决方案中创建另一个项目(我们称之为“SolutionName.Infrastructure”),负责存储DataContracts和ServiceContracts。然后在您的服务和客户端项目中添加对Infrastructure项目的引用。这样的解决方案会减少创建的代码量,因为现在您将所有代码存储在一个地方,从而剥夺了自动生成的代码。您可以毫不费力地利用DataAnnotations。缺点是你需要手动调整客户端的app.config文件。