如何将存储库模式与WCF一起用于CRUD操作并避免代码重复

时间:2012-06-07 17:36:30

标签: .net wcf repository-pattern

我有一个通过WCF接口公开一些CRUD操作的服务。

服务

bool SavePerson(Person obj)
{
  Repository<Person> currentRepo = new Repository<Person>();
  currentRepo.Save(obj);
}
bool SaveAddress(Address obj)
{
  Repository<Address> currentRepo = new Repository<Address>();
  currentRepo.Save(obj);
}

使用每个

的接口定义
[OperationContract()]
bool SavePerson(Person obj);
[OperationContract()]
bool SaveAddress(Address obj);

我有一个使用这些方法的Web客户端。

网络

SaveAddress(addr);
SavePerson(pers);

稍微浏览一下网站后,我知道泛型方法不适用于WCF,因此Web无法执行SaveObject<Address>(addr); SaveObject<Person>(pers);

之类的操作

我的问题是,有没有办法减少代码重复的数量?理想情况下,我想减小WCF接口的大小。即使这不可行,我至少能够在服务端组合方法实现吗?

由于

1 个答案:

答案 0 :(得分:1)

REST WCF服务应该可以帮助您。它们不会完全按照您的要求实现,但它是唯一可以减少数量接口和复制粘贴的东西。

http://msdn.microsoft.com/library/dd203052.aspx