我的安全扫描失败了。
的maxOccurs = “无限”
在我的silverlight客户端上创建一个xsd,以获取我的某个Web服务的服务参考。
我是否可以在Web服务中设置属性或某些内容以防止以这种方式生成xsd?
它实际上是一个WCF
答案 0 :(得分:1)
WCF没有支持。即使你真正签订合同并在wcf从wsdl + xsd生成类时手动编写消息合同,如果它大于1,它将忽略maxOccurs值。因此,当您公开服务时,生成的合同将再次具有maxOccurs="unbounded"
。
但是,您可以通过实现实现IWsdlExportExtension, IEndpointBehavior
接口的自定义端点行为来轻松更改此行为:
这样生成的合同将包含原始模式而不是生成的模式。
此外,您还需要使用xsd验证XML文件。因为WCF不会验证您的maxOccurs
属性。