下面是我的 WCF 服务中的 DataContract 及其各自的 xsd 架构,显示在 wsdl 文件中。
[Serializable]
[XmlRoot(Namespace = "http://www.example.com/l0257/services/mgnt/datatypes/0/1",IsNullable = false)]
public partial class InstrumentData
{
private string _serialNo;
private string _model;
private int _pointsRecorded;
[XmlElement(ElementName = "SerialNo", IsNullable = false)]
public string SerialNo
{
get { return _serialNo; }
set { _serialNo = value; }
}
[XmlElement(ElementName = "Model", IsNullable = false)]
public string Model
{
get { return _model; }
set { _model = value; }
}
[XmlElement(ElementName = "PointsRecorded", IsNullable = false)]
public int PointsRecorded
{
get { return _pointsRecorded; }
set { _pointsRecorded = value; }
}
}
WSDl 文件包含相应数据契约(Contract)的以下信息:
<xs:complexType name="InstrumentData">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="SerialNo" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Model" type="xs:string" />
<xs:element minOccurs="1" maxOccurs="1" name="PointsRecorded" type="xs:int" />
</xs:sequence>
</xs:complexType>
有人可以让我知道我的数据契约(Contract)中缺少什么来获取 Instrumentdata 类的“Model”和“SerialNo”属性的 minOccurs=1 和 maxOccurs=1。
最佳答案
见 here有关确定 minOccurs 方式的完整说明。似乎对于引用类型,您必须指定 IsNullable=true
为了生产minOccurs=1
.
关于wcf - 无法为 DataContract 中的字符串类型获取 minOccurs ="1"maxOccurs ="1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7551418/