WCF簡單教程 5 用IIS做Host

2021-09-03 11:01:46 字數 856 閱讀 8321

第五篇:用iis做host

web.config中的部分與之前略有不同,我們來分析一下:

1、節點沒有了

host節點沒有了,對應的baseaddress也沒有了,這是理所當然的事,因為不需要,訪問dataservice.svc檔案時的url本身就是乙個位址了。

2、新增加了乙個節點

此節點用於控制行為,在服務端只有子節點,下面的httpgetenabled="true"表示允許用http的get方式獲取服務的元資料資訊。

順便提一下,用svcutil.exe生成客戶端**的話,對http型別的binding,必須要開放get方式訪問元資料。

3、新增加了乙個endpoint

這個endpoint比較特殊,它的binding是mexhttpbinding,服務契約是imetadataexchange。這個endpoint是用於元資料發布的,它的功能實際上和剛才的httpgetenabled="true"有些重複。

我們可以這樣理解,當開啟了httpgetenabled時,用 http://...../dataservice.svc?wsdl 就可以訪問到元資料;如果沒開啟,但有這個endpoint,用 http://...../dataservice.svc/mex 也可以訪問到元資料;如果都沒有,那對不起,不允許你獲取元資料。(當然啦,如果你已經有契約了,不會影響呼叫的)

在iis中發布wcf服務,一般很少用http之外的binding,但不代表不能用,iis是支援的,我們在iis管理器中檢視一下站點繫結,預設情況下能看到這樣的設定:

像nettcpbinding,就會利用iis的net.tcp型別繫結,埠是808。

WCF簡單教程 1 入門

wcf是dotnet體系中很重要的一項技術,但是組內很多組員通過書籍自學的時候感覺涉及面太廣 配置檔案太複雜,新名詞太多 抓不到頭緒,有感於此,決定進行一次組內技術培訓,順便把培訓講義整理到blog上來。不求大而全,而是要讓初學者快速入門,因此想入例項入手,並刻意隱藏一些初期用不到的內容,以降低入門...

WCF簡單教程 1 入門

wcf是dotnet體系中很重要的一項技術,但是組內很多組員通過書籍自學的時候感覺涉及面太廣 配置檔案太複雜,新名詞太多 抓不到頭緒,有感於此,決定進行一次組內技術培訓,順便把培訓講義整理到blog上來。不求大而全,而是要讓初學者快速入門,因此想入例項入手,並刻意隱藏一些初期用不到的內容,以降低入門...

WCF簡單教程 4 資料契約

第四篇 用資料契約傳遞自定義資料物件 之前的演示中,我們一直都是在用string型別做引數和返回值,實際專案中肯定會傳遞自定義的資料型別。與webservice不同,wcf想傳遞自定義資料,必須要將其定義為資料契約。看乙個例子 using system using system.runtime.se...