如果用户从单独的项目输入无效的数据结构,则WCF服务失败

时间:2012-04-23 13:37:27

标签: wcf

我在一个项目中有一个wcf服务,一个对象模型在另一个项目中保存我的所有对象。我在服务项目中添加了对象模型的引用,并且能够在没有incedent的情况下使用我的服务中的对象。

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

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

我不确定是否可能需要在web.config中设置配置?

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

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

1 个答案:

答案 0 :(得分:2)

WCF自动化方法

要根据其WSDL合同自动执行WCF验证,您可以将WsdlExporter用作shared in this MSDN blog

WCF原始方法

  1. 您可以使用WCF schema validation behavior extension。自定义BehaviorExtension将允许您强制执行已定义架构的数据验证。

  2. 您还可以使用WCF parameter validation behavior extension来强制执行参数约束。

    请参阅MSDN获取WCF Input/Data Validation FAQ

  3. WCF验证评论

    同样review this great SO post关于为什么不执行WCF输入/数据验证。

    Four Tenets of XML Messaging with WCF还提供了有关Schema验证的有趣视角。