.NET Web服务 - 如何使属性不可见

Ahm*_*tun 1 .net c# web-services

我有一个ASP.NET(.asmx)Web服务项目,其方法如下:

 public int GetData(Data d);
Run Code Online (Sandbox Code Playgroud)

Data类具有以下属性:

  public class Data
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

我希望客户端看到"Id"属性,而不是"Name"属性.它们都必须公开,因为应用程序的内部逻辑需要公开这些属性.

那么如何设置客户端可见的"名称"属性而不更改其公共访问者,并且不设置私有get,私有集?

Jür*_*ock 8

您可以使用XmlIgnore标记阻止序列化,客户端生成的代理类将不包含属性Name.

public class Data
{
  public int Id{get;set;}

  [XmlIgnore()]
  public string Name{get;set;}
}
Run Code Online (Sandbox Code Playgroud)