3

我在 1 个项目中有一个 wcf 服务,还有一个对象模型将我的所有对象保存在另一个项目中。我在服务项目中添加了对对象模型的引用,并且能够在我的服务中使用这些对象而不会发生意外。

当我发布服务并且其他用户使用它时。他们能够输入无效的数据和架构,并且服务不会失败。

我需要将服务连接到对象模型。如果用户不遵守对象的模式,服务应该会自动失败。

我不确定我是否必须在 web.config 中设置配置?

我不明白的是,如果我将对象上的属性设置为必需。如果用户不将此属性添加到传递给服务的对象,为什么服务不会自动停止?

[DataMember(IsRequired = true)]
        public string VendorName { get; set; }
4

1 回答 1

2

WCF 自动化方法

要根据其 WSDL 合同自动执行 WCF 验证,您可以使用在此 MSDN 博客WsdlExporter共享的

WCF 原始方法

  1. 您可以使用 WCF架构验证行为扩展。自定义BehaviorExtension将允许您强制对定义的模式进行数据验证。

  2. 您还可以使用 WCF参数验证行为扩展来强制执行参数约束。

    请参阅 MSDN 了解 WCF输入/数据验证常见问题解答

WCF 验证评论

另请查看这篇关于为什么不执行 WCF 输入/数据验证的精彩 SO 帖子。

使用 WCF 进行 XML 消息传递的四个原则也提供了关于模式验证的有趣视角。

于 2012-04-25T14:46:06.307 回答