1

我正在玩 WCF 4.0。我有一个简单的服务,其中包含以下 DataContract:

[DataContract]
public class WeeklySchedule
{
    [DataMember]
    public DateTime DateMon;
    [DataMember]
    public string DishMon;
    [DataMember]
    public DateTime DateTue;
    [DataMember]
    public string DishTue;
    [DataMember]
    public DateTime DateWed;
    [DataMember]
    public string DishWed;
    [DataMember]
    public DateTime DateThu;
    [DataMember]
    public string DishThu;
    [DataMember]
    public DateTime DateFri;
    [DataMember]
    public string DishFri;
}

我想建立一个单独的类库来保存数据库访问方法。我希望这些方法返回 WeeklySchedule 对象。

我怎样才能避免循环引用?

如果我将 DAL 类引用到 WCF 服务,我可以使用 db 方法,但 DAL 类不能“看到”DataContract 类。

4

2 回答 2

2

我们添加了第三个“层”,我们称之为应用程序。它可以访问 DTO(您在问题中定义的类)和数据层。然后,应用程序层充当拥有一切视图的层。它从数据层获取数据,并负责在将数据合约返回给调用者之前填充数据合约。因此,它将完成您的大部分服务工作。

这避免了您的循环引用。:)

于 2012-06-08T17:08:57.883 回答
0

由于我缺乏知识,我认为如果我将 DataContract 和 ServiceContract 类与 WCF 服务类分开,我会遇到问题。

我的问题的解决方案是为合约创建一个通用类库,并让 WCF 类或数据访问层类访问它们。

于 2012-06-08T20:46:20.923 回答