这是我的思考过程。我有一个WCF服务,它有一些类,类有一些必填字段。在调用服务之后,我们将在服务实现方验证这些数据。
现在,如果强制字段为空,我不希望客户端发起呼叫。我想强制执行客户端发出的类来为我做这件事。
我的想法是否正确。
如果正确的话,我怎样才能在客户端给代表这项工作,我不喜欢在调用服务之前创建服务消费者方面调用的任何内容,如call validate方法。
欢迎任何想法。
答案 0 :(得分:1)
如果您在类属性上使用DataAnnotations,那么在实际调用服务之前,您肯定可以调用手动验证。
e.g。
public class Recipe
{
[Required]
public string Name { get; set; }
}
您可以使用System.ComponentModel.DataAnnotations中的ValidationContext类触发对象的验证。
var recipe = new Recipe();
var context = new ValidationContext(recipe, serviceProvider: null, items: null);
var results = new List<ValidationResult>();
var isValid = Validator.TryValidateObject(recipe, context, results);
if (!isValid)
{
foreach (var validationResult in results)
{
Console.WriteLine(validationResult.ErrorMessage);
}
}