Wcf服务合同是否也可供他人使用(nhibernate asp.net)
我想知道如果将wcf与Wcf服务合同是否也可供他人使用(nhibernate asp.net),wcf,nhibernate,.net-4.0,irepository,Wcf,Nhibernate,.net 4.0,Irepository,我想知道如果将wcf与IRepository 因为两个不同的来源将使用相同的合同: -1被WCF使用 -另一个是Asp.net Nhibernate 所以我想重复使用同一份合同,而不是制作一个或两个复制品 通过一个例子更容易理解 [ServiceContract] public interface ITutorialService { [OperationContract] void AddTutorial(Tutorial newTutorial); [Operatio
IRepository
因为两个不同的来源将使用相同的合同:
-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;......
[服务合同]
公共接口替代服务
{
[经营合同]
void AddTutorial(Tutorial newTutorial);
[经营合同]
列出gettuorials();
[经营合同]
void removeturial(字符串id);
教程GetTutorialModel();
标记GetTagModel();
视频获取视频模型();
i存储getutorialrepository();
i存储GetTagRepository();
i存储GetVideoRepository();
}
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
公共类教程服务:ITutorialService
{
私人IRepository教程;
私人IRepository标签;
私人IRepository视频;。。。。。。
简言之,如果我没有在Irepository中添加任何
[OperationContract]
,wcf会工作吗?是的,它会工作。没有[OperationContract]
的方法不会是wcf操作,但听起来这正是您想要的
另一种方法是有两个接口,一个接口从另一个接口派生,这样可以分离关注点,但不必定义两次方法。是的,它可以工作。没有
[OperationContract]
的方法不会是WCF操作,但听起来这正是您想要的
另一种方法是有两个接口,其中一个接口从另一个接口派生,这样可以分离关注点,但不必定义两次方法。@Bradon-neat!!你创造了我的早晨@Bradon-neat!!你创造了我的早晨