日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

WCF中服务继承多个契约的使用

發(fā)布時(shí)間:2023/11/27 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WCF中服务继承多个契约的使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

服務(wù)繼承多個(gè)契約其實(shí)也就是服務(wù)類實(shí)現(xiàn)了多個(gè)接口,主要是在配置中需要添加多個(gè)endpoint,各個(gè)endpoint之間的address不同、contract不同

契約:

[html] view plaincopyprint?
  1. [ServiceContract]?
  2. public interface IReportService?
  3. {?
  4. ??? [OperationContract]?
  5. ??? [WebGet(UriTemplate="Task",ResponseFormat=WebMessageFormat.Json)]?
  6. ??? List<SampleItem> GetList();?
  7. }?
    [ServiceContract]public interface IReportService{[OperationContract][WebGet(UriTemplate="Task",ResponseFormat=WebMessageFormat.Json)]List<SampleItem> GetList();}
[html] view plaincopyprint?
  1. [ServiceContract]?
  2. public interface ITestMoreContract?
  3. {?
  4. ??? [OperationContract]?
  5. ??? [WebGet(UriTemplate = "GetListTask/{objID}", ResponseFormat = WebMessageFormat.Json)]?
  6. ??? List<SampleItem> GetListTask(string objID);?
  7. }?
    [ServiceContract]public interface ITestMoreContract{[OperationContract][WebGet(UriTemplate = "GetListTask/{objID}", ResponseFormat = WebMessageFormat.Json)]List<SampleItem> GetListTask(string objID);}

服務(wù)實(shí)現(xiàn):

?

[html] view plaincopyprint?
  1. [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]?
  2. public class Service1 : IReportService, ITestMoreContract?
  3. {?
  4. ??? public List<SampleItem> GetList()?
  5. ??? {?
  6. ??????? return new List<SampleItem>?
  7. ??????? {?
  8. ??????????? new SampleItem {Id=1,StringValue="value1"},?
  9. ??????????? new SampleItem {Id=2,StringValue="value2"},?
  10. ??????? };?
  11. ??? }?
  12. ?
  13. ??? public List<SampleItem> GetListTask(string objID)?
  14. ??? {?
  15. ??????? if (objID == "1")?
  16. ??????? {?
  17. ??????????? return new List<SampleItem>?
  18. ??????? {?
  19. ??????????? new SampleItem {Id=55,StringValue="value55"},?
  20. ??????????? new SampleItem {Id=66,StringValue="value66"},?
  21. ??????? };?
  22. ??????? }?
  23. ?
  24. ??????? return null;?
  25. ??? }?
  26. }?
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]public class Service1 : IReportService, ITestMoreContract{public List<SampleItem> GetList(){return new List<SampleItem>{new SampleItem {Id=1,StringValue="value1"},new SampleItem {Id=2,StringValue="value2"},};}public List<SampleItem> GetListTask(string objID){if (objID == "1"){return new List<SampleItem>{new SampleItem {Id=55,StringValue="value55"},new SampleItem {Id=66,StringValue="value66"},};}return null;}}

配置文件中endpoint節(jié):

?

[html] view plaincopyprint?
  1. <endpointaddress=""behaviorConfiguration="BXQS.Service.Report.ReportManage.Behavior"binding="webHttpBinding"??
  2. ????????? contract="WcfRestService1.IReportService"/>?
  3. <endpointaddress="Test"behaviorConfiguration="BXQS.Service.Report.ReportManage.Behavior"binding="webHttpBinding"?
  4. ????????? contract="WcfRestService1.ITestMoreContract"/>?
        <endpoint address="" behaviorConfiguration="BXQS.Service.Report.ReportManage.Behavior" binding="webHttpBinding" contract="WcfRestService1.IReportService"/><endpoint address="Test" behaviorConfiguration="BXQS.Service.Report.ReportManage.Behavior" binding="webHttpBinding"contract="WcfRestService1.ITestMoreContract"/>

?

客戶端調(diào)用時(shí)訪問:

localhost:8001/Service1.svc/Task

localhost:8001/Service1.svc/Test/GetListTask/1

轉(zhuǎn)載于:https://www.cnblogs.com/wuquelin/articles/3062795.html

總結(jié)

以上是生活随笔為你收集整理的WCF中服务继承多个契约的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。