我在 1 个项目中有一个 wcf 服务,还有一个对象模型,该对象模型在另一个项目中保存我的所有对象。我在服务项目中添加了对对象模型的引用,并且能够毫无保留地使用服务中的对象。
当我发布服务并且其他用户使用它时。他们能够输入无效的数据和架构,并且服务不会失败。
我需要将服务连接到对象模型。如果用户不遵守对象的架构,则服务应自动失败。
我不确定我是否必须在 web.config 中设置配置?
我不明白的是,如果我将对象的属性设置为 required。如果用户未将此属性添加到要传递给服务的对象,为什么服务不自动停止?
[DataMember(IsRequired = true)]
public string VendorName { get; set; }
WCF 自动化方法
若要根据其 WSDL 协定自动执行 WCF 验证,可以使用此 MSDN 博客中共享的WsdlExporter
。
WCF 原始方法
-
可以使用 WCF 架构验证行为扩展。自定义
BehaviorExtension
将允许您对定义的架构强制执行数据验证。 -
还可以使用 WCF 参数验证行为扩展来强制实施参数约束。
请参阅 MSDN 的 WCF 输入/数据验证常见问题解答。
WCF 验证评论
另请查看这篇很棒的 SO 文章,了解为什么不执行 WCF 输入/数据验证。
使用 WCF 的 XML 消息传递的四个原则还提供了有关架构验证的有趣视角。