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

如果用户从单独的项目中输入无效的数据结构,则WCF服务失败,wcf,Wcf,我在一个项目中有一个wcf服务,在另一个项目中有一个保存我所有对象的对象模型。我在服务项目中添加了对对象模型的引用,并且能够毫无激励地使用服务中的对象 当我发布服务和其他用户使用它时。他们能够输入无效的数据和模式,并且服务不会失败 我需要将服务连接到对象模型。如果用户不遵守对象的模式,服务将自动失败 我不确定是否需要在web.config中设置配置 我不理解的是,如果我将对象的属性设置为required。如果用户没有将此属性添加到传递给服务的对象中,为什么服务没有自动停止 [DataMember

我在一个项目中有一个wcf服务,在另一个项目中有一个保存我所有对象的对象模型。我在服务项目中添加了对对象模型的引用,并且能够毫无激励地使用服务中的对象

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

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

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

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

[DataMember(IsRequired = true)]
        public string VendorName { get; set; }
WCF自动化方法 要根据其WSDL契约自动化WCF验证,可以使用as

WCF原始方法
  • 你可以使用WCF。自定义将允许您强制对已定义的架构进行数据验证

  • 您还可以使用WCF强制参数约束

    有关WCF,请参见MSDN

  • WCF验证评论 另外,关于未执行WCF输入/数据验证的原因


    还提供了一个关于模式验证的有趣视角。

    如果WCF服务的客户端正在从该服务发布的WSDL生成代码,您将始终获得有效的soap消息(模式)到您的服务。WCF执行客户端和服务之间soap XML消息的转换,但必须由服务逻辑处理消息的内容(数据)。感谢您的响应。我想我问了一些我不太想问的问题,我编辑了我的问题。我的服务似乎并不关心对象属性上设置的IsRequired属性。我不知道为什么会这样?@NickLaMarca了解如何通过控制生成的WSDL来强制执行所需的参数
    IsRequired
    仅在生成的XSD中标记
    minOccurs=“0”