以前領導佈置一個作單點登陸的功能給我,實際上就是醫院想作一個統一的平臺來實如今這個統一的平臺登陸後不須要在His、Emr、Lis等系統一個個登陸,直接能夠登陸到對應的系統,而後進行相應的操做,方便醫護人員的平常操做。具體到咱們His開發商來講就是實現一個登陸是調用第三方WCF接口獲取第三方登陸用戶在His登陸的用戶名、密碼後續可能還會包括CA信息。html
以前有本身寫過WCF服務給第三方調用,調用過第三方Http服務,尚未寫過調用WCF服務的任務。本身寫過WCF服務的經驗加上網上查閱的資料,分別使用兩種方法來實現C#調用WCF服務:一、直接添加服務引用;二、使用Vs 自帶 SvcUtil工具生成服務代理類。使用的編輯器是VS2008,不一樣版本以前存在差別。json
第一步、在解決方案項目右鍵,選擇添加服務引用。app
第二步、書寫須要實現的功能,針對這個項目就是調用服務的方法,按要求傳入Json格式參數獲取並解析返回的Json格式出參,而後利用出參去實現本身須要實現的功能。編輯器
完成上一步之後,就能夠開始書寫代碼來實現本身須要實現的功能了,實際上添加服務引用的使用,VS會自動替你在添加服務引用的解決方案項目對應的配置文件app.config添加服務綁定、終結點等配置信息。若是你在添加服務引用的項目下面書寫實現功能部分的代碼,則不須要管配置文件,若是你的啓動項目不是添加服務引用的項目,那麼你須要在啓動項目的配置文件部分增長VS編輯器自動添加的配置文件內容,我把自動生成部分的內容展現給你們看看,由於這是我實際開發環境下引用的項目,因此我會對路徑部分進行處理,端口號是可選的,有的服務使用的默認端口號。針對服務綁定、終結點能夠參考博客:https://blog.csdn.net/zhang_xinxiu/article/details/41329511 工具
我對代碼進行了簡單的註釋,不明白的地方能夠回覆我,而後進行溝通。這裏面主要是入參和出參都是Json格式的字符串,我這裏使用.Net自帶的System.Web.Extensions程序集,在使用時需先在項目上添加引用而後在代碼前面添加命名空間,代碼以下:using System.Web.Script.Serialization;對於Json轉換爲對象詳細能夠參考博客園文章 http://www.javashuo.com/article/p-aqqbppjg-kg.html,文章中還給出一個轉換Json字符串給C#類的工具,我以爲很是棒。測試
生成代理類的方式相對於第一種方式具備必定的優點:不須要添加服務引用,可是配置文件的內容仍是須要添加的,但一旦服務有所更新,就必須從新生成新的代理類並進行替換,我這裏使用Vs2008自帶的SvcUtil工具,啓動程序後輸入命令: svcutil.exe http://路徑[:端口]/SSOService.svc?wsdl ui
接下來在對應的目錄下面找到代理類文件和配置文件,將配置文件的內容粘貼到實際啓動的項目的配置文件中。我在單獨一個程序裏面進行了該方法的測試,實際效果跟直接添加服務引用一致。打開支付寶首頁搜索「524252978」,便可領紅包。url