Web服务复杂类型仅读取属性



我想拥有一个使用复杂类型的WCF Web服务。

bool SetFunction(MyComplexType data);
MyComplexType GetFunction(int compextDataId);
public class MyComplexType
{
    public string LabelNo { get; set; }
    public DateTime? InsertDate { get; set; }
}

我不希望我的客户设置mycomplextype的所有属性,但可以阅读其中的一些属性。

当我部署这些函数时,WSDL将使用myComplexType的所有属性生成,并且我不希望客户在使用getComplexType时设置一些特定值(插入(,因为他们需要读取这些值。

我试图玩{get;放;}要生成特定的接口,但我必须在服务器端使用这些接口。

我如何使用同一类隐藏Web服务接口的某些类属性?

如果您使用的是WCF,则使用数据合同应解决您的问题。

以下是使用[datacontract]属性来装饰mycomplextype的示例代码。请注意,当您不使用DataMember标记任何公共财产时,它不会出现在WSDL中。

[DataContract]
public class MyComplexType
{
    public string TestStringNotVisible { get; set; } //this won't be displayed
    [DataMember]
    public bool TestBoolVisibleInWsdl { get; set; } = true;
    [DataMember]
    public string TestStringVisibleInWsdl { get; set; } = "Hello ";
}

相关内容

  • 没有找到相关文章

最新更新