Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从WSDL文件中识别所需的属性?_C#_Asp.net_.net_Wcf - Fatal编程技术网

C# 如何从WSDL文件中识别所需的属性?

C# 如何从WSDL文件中识别所需的属性?,c#,asp.net,.net,wcf,C#,Asp.net,.net,Wcf,我正在创建一个WCF服务,这里是服务的DataContract部分,我正在将Fromdate字段设置为必需属性 [DataContract(Name = "PriceCalculationRequest")] public class PriceReq { [DataMember(Name = "PickupDate", Order = 1, IsRequired = true , EmitDefaultValue=true)] private D

我正在创建一个WCF服务,这里是服务的DataContract部分,我正在将
Fromdate
字段设置为必需属性

[DataContract(Name = "PriceCalculationRequest")]
    public class PriceReq
    {
        [DataMember(Name = "PickupDate", Order = 1, IsRequired = true , EmitDefaultValue=true)]
        private DateTime FromDate { get; set; }

        [DataMember(Name = "ReturnDate", Order = 3)]
        public DateTime ToDate { get; set; }

        [DataMember(Order = 2)]
        public string PickupLocation { get; set; }

        [DataMember(Order = 4)]
        public string ReturnLocation { get; set; }

        public string CarType { get; set; }
    }
这是由上述代码生成的
wsdl
文件,我如何确定哪个属性是必需的属性

<xs:sequence>
<xs:element minOccurs="0" name="pickupDate" type="xs:dateTime"/>
<xs:element minOccurs="0" name="returnDate" type="xs:dateTime"/>
<xs:element minOccurs="0" name="pickupLocation" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="vehiclePreference" nillable="true" type="xs:string"/>
</xs:sequence>

确保在进行修改后重新构建服务项目。这就是我得到的:

<xs:sequence>
    <xs:element name="PickupDate" type="xs:dateTime"/>
    <xs:element minOccurs="0" name="PickupLocation" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="ReturnDate" type="xs:dateTime"/>
    <xs:element minOccurs="0" name="ReturnLocation" nillable="true" type="xs:string"/>
</xs:sequence>

如果设置IsRequired=true,则会显示minoccurs=“0”表示需要

minOccurs="0"

请参阅此链接以获取解释:

不幸的是,它不适用于这样的情况:(您需要使用
minOccurs
,但我不记得如何在WCF中实现它,但这是可能的。您能告诉我minOccurs=“0”的意义吗。它应该变成
minOccurs=1
maxOccurs=1
,我来看看我能为您挖掘什么。也许以下线程的底部答案对您有用:Chirag它不像minOccurs=“0”确定元素可以出现的最小次数。该值可以是0或1。(参考)默认值为1。如果元素是必需的,则minOccurs=“0”将不会按照alex Pickupdate is required属性的建议显示在此处。