在您的ServiceContract
界面中添加一个与您的客户端应用程序相关的单个操作,Department
该操作将使您Department
的Section
客户端应用程序可见。
由于 Department 包含 Section 列表,因此它也会暴露 Section。
[ServiceContract]
public interface IService1
{
[OperationContract]
Room GetRoom();
[OperationContract]
List<Department> GetDepartments();
}
解释
您可以使用Svcutil.exe进行验证。
如果用户定义的类不存在操作契约,则definition won't emit in proxy class
使用 Svcutil 生成。
如果我省略 的第二个操作合同Department
,则代理类中只会Room
发出类。因此,您需要在您的班级上拥有至少一份操作合同,以使其对您的客户可见。
房间的代理类:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization",
"4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="Room",
Namespace="http://schemas.datacontract.org/2004/07/DummyService")]
public partial class Room : object,
System.Runtime.Serialization.IExtensibleDataObject
{
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
private uint RoomIdField;
public System.Runtime.Serialization.ExtensionDataObject ExtensionData
{
get
{
return this.extensionDataField;
}
set
{
this.extensionDataField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public uint RoomId
{
get
{
return this.RoomIdField;
}
set
{
this.RoomIdField = value;
}
}
}