我们通过 WCF 提供服务。我们在 SQL Server 中的数据是使用实体框架、Automapper 和 DTO 公开的。
我们很乐意在 DTO 中提供属性,但不确定如何实现我们希望在类库中保存的其他方法。
我们不想将整个服务的所有方法都放在一个 WCF 服务实现中,而是只引用在类库中实现的方法。
我们如何通过类库实现业务逻辑层,通过 WCF 暴露给表示层并使用 DTO 传递数据?
公开的类方法是否引用了 DTO?类库应该按层拆分吗?
服务元素
[服务合同]
public interface Interface1
{
[OperationContract]
Class1 GetClass1(int id);
[OperationContract]
Class2 GetClass2(int id);
}
类库元素
public class Class1 : Interface1
{
public Class1 GetClass1(int id) {
// implementation
}
}
public class Class2 : Interface1
{
public Class2 GetClass2(int id)
{
// implementation
}
}
DTO
[DataContract]
public class Class1
{
[DataMember]
public int x { get; set;}
}
[DataContract]
public class Class2
{
[DataMember]
public int y { get; set;}
}