1

我想知道如果 wcf 与IRepository

因为 2 个不同的来源将使用同一个合同: - 1 个被 WCF 使用 - 另一个被 Asp.net Nhibernate 使用

所以我想重用相同的合同,而不是制作另一个副本,其中包含一两件东西。

举个例子更容易理解...

[ServiceContract]
public interface ITutorialService
{
    [OperationContract]
    void AddTutorial(Tutorial newTutorial);
    [OperationContract]
    List<Tutorial> GetTutorials();
    [OperationContract]
    void RemoveTutorial(string id);

    Tutorial GetTutorialModel();
    Tag GetTagModel();
    Video GetVideoModel();

    IRepository<Tutorial> GetTutorialRepository();
    IRepository<Tag> GetTagRepository();
    IRepository<Video> GetVideoRepository();
}

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class TutorialService : ITutorialService
{
    private IRepository<Tutorial> _tutorial;
    private IRepository<Tag> _tag;
    private IRepository<Video> _video;......

简而言之,wcf 是否可以正常工作,因为我没有[OperationContract]向 Irepository 添加任何内容?

4

1 回答 1

1

是的,它会起作用。没有的方法[OperationContract]不会是 WCF 操作,但听起来这就是你想要的。

另一种方法是有两个接口,一个从另一个派生,这样您就可以分离关注点,但不必两次定义方法。

于 2011-04-26T15:35:27.270 回答