WCF 4.5合约优先“不正确”生成简单类型

时间:2016-03-23 13:18:30

标签: .net wcf xsd .net-4.5 contract-first

我在XSD中定义了以下简单类型:

    <xs:simpleType name="TimeOfDay">
    <xs:annotation>
        <xs:documentation xml:lang="en">The representation of a time value that does not include time zone/offset information.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:time">
        <xs:minInclusive value="00:00:00"/>
        <xs:pattern value="(([01][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.[0-9]+)?"/>
    </xs:restriction>
</xs:simpleType>

当我使用.NET 4.5中的WCF代码生成功能生成C#代码时,它会将此类型映射到DateTime。因此,当我们将数据协定序列化为XML时,该值无法进行模式验证,因为它包含完整的日期/时间值,“dd-mm-yyyyThh:mm:ss.fff”。

任何想法我们都可以:

  1. 让生成的代码实现必要的限制
  2. 自定义序列化过程,只有时间组件 该值将写入XML输出

0 个答案:

没有答案