【WCF】解析WCF服務的搭建
阿新 • • 發佈:2018-11-08
WCF是.NET提供的一種服務,可以將自己寫的程式(完成特定功能,比如從資料庫中讀取資料操作等)分裝成服務以後,釋出到伺服器上。然後會生成一個網址,客戶端在程式設計的時候,可以引用這個服務,使用這個服務中提供的功能。通過WCF可以實現對遠端方法呼叫。
舉個實際的例子,我想從資料庫中讀取相關文章數量大於3的基因,資料庫表GeneSymbol,包含兩個欄位(genename,count),現在我想每次給資料庫一個引數n(代表文章數量count),返回符合條件的基因數量。有人會說,直接在本地呼叫不就好了嗎,但本地呼叫存在另一個問題,就是無法靈活的控制動作的行為。使用WCF,一旦想對返回基因數量的規則作出改變的話,無需改動客戶端程式碼(客戶端甚至無需做任何改變),只需改動WCF服務即可。
實現步驟:
1、新建一個WCF服務程式
2、在1中寫需要執行函式的宣告,在2中寫上對應的函式實現(我的例子中試對資料庫的操作以及返回值)
3、釋出時,工程右鍵,釋出。可以看到下圖的介面,點選新建檔案(圖中紅色部分)
5、區域網釋出的話,一般點File System即可。如果要釋出到阿里雲伺服器這樣可以對外的,可以用FTP
6、選擇要生成釋出檔案的位置即可
7、以下是釋出後得到的檔案
8、在本地釋出生成釋出檔案後,如果我想讓它在區域網(在阿里雲上是類似的)的伺服器上釋出,將本地釋出生成的檔案拷貝到伺服器上某個位置(比如E:\TEST),然後開啟伺服器上IIS管理器,如下圖所示。這是我遠端桌面操作的截圖,開啟後,點選左側“網站”->“新建”->"網站" 會出現如下介面。這裡注意,網站的IP地址就是伺服器的地址。(因為是釋出到該伺服器上),自己為它指定一個埠。如下:然後點選下一步
9、這裡的路徑,就是剛才在本地釋出後,拷貝過來的檔案所在的路徑,和上面的統一,是E:\TEST,找到它,新增進來即可
10、釋出成功後,會生成一個網址,這是我這次釋出所生成的網址
http://172.16.200.22:8012/Service1.svc?wsdl
這樣就成功生成一個服務,以後每次使用,我只需要呼叫這個服務就可以了~
使用服務的說明
在本地的工程中新增引用時,選擇新增一個服務,把上面生成的這個網址新增進去,在本地工程中直接使用就可以了,別忘了新增服務的名字
然後就可以按照如下的程式碼格式呼叫
class Test { static void Main() { Service1Client client= new Service1Client(); // 使用 "client" 變數在服務上呼叫操作。 // 始終關閉客戶端。 client.Close(); } }