#wcf #nhibernate #.net-4.0 #irepository
#wcf #nhibernate #.net-4.0 #irepository
Вопрос:
Мне было интересно, будет ли 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?
Ответ №1:
Да, это будет работать. Методы без [OperationContract]
не будут операциями WCF, но похоже, что это то, что вы хотите.
Другой подход заключался бы в том, чтобы иметь два интерфейса и иметь один производный от другого, чтобы у вас было разделение задач, но не нужно определять методы дважды.
Комментарии:
1. @Bradon аккуратный!! ты сделал мое утро <3