WCF之劍走偏鋒 建立無配置檔案的WCF專案

2022-02-12 02:59:29 字數 1350 閱讀 9073

之前只接觸過webservice和remoting。老師講wcf的時候也沒有去聽,因為是額外新增的課程。但是後來聽說wcf是多麼的強大,就想著在乙個新專案裡使用這種技術。按照remoting的思路。建立乙個普通的介面層,**如下:

**

namespace

middle

}

然後在服務端的乙個類裡分別實現了這些方法,接下來把wcf的服務放在了乙個winform窗體裡:

**

servicehost datashost 

=new

servicehost(

typeof

(datasrealize));

nettcpbinding tcp

=new

nettcpbinding();

tcp.portsharingenabled

=true

;datashost.addserviceendpoint(

typeof

(idatas),tcp,

"net.tcp://localhost:"+

postid +"

/datas");

datashost.open();

最後在客戶端裡呼叫: 

channelfactory

<

idatas

>

chan

=new

channelfactory

<

idatas

>

(new

nettcpbinding(),

newendpointaddress(

"net.tcp://localhost:9090/datas

"));

//獲得介面物件

idatas ida

=chan.createchannel();

//實現邏輯

整個專案執行正常,但是到了收到老師給的資料,發現這種做法貌似不正確,完全不符合wcf的建立規則。

於是改由正規方法,先建立乙個wcf服務庫,將介面的實現仍然放在服務端,按提示修改配置檔案中相應地方。

但是除錯的時候鬱悶,首先彈出目標程式集不包含服務型別的錯誤提示。然後會出現wcf已經託管的托盤提示。

再過了1、2分鐘,程式才開始除錯。雖然結果是一摸一樣,但我就納悶了,

怎麼正統的方法還不如我的瞎整來的速度呢?2者最大的區別我覺得是前者完全捨棄了配置檔案。

不明白在建立正常wcf時還顯著提示需要更改配置檔案是為那般?

不使用配置檔案的還有個可以偷懶的地方就是實體類中只需要在類前面標明[serializable],

不需要額外的宣告契[datamember]

WCF中配置檔案解析

在wcf service configuration editor的使用 中,我們通過配置工具自動生成了wcf服務端的config檔案。現在我們來看下這個配置檔案各個標籤的意義 解釋在下面xml檔案中的注釋裡 1.0 encoding utf 8 命名空間.型別名 beh iorconfigurat...

WCF 學習筆記 11 配置檔案

wcf 的配置檔案並不複雜,相對於手工編寫配置檔案,我更傾向於使用 sdk 所附帶的工具 service configuration editor 使用這個工具,我們可以非常方便地建立或修改伺服器和客戶端的配置檔案。wcf 配置檔案基本元素 使用 vs2005 的 add service refer...

WCF 學習筆記 11 配置檔案

wcf 的配置檔案並不複雜,相對於手工編寫配置檔案,我更傾向於使用 sdk 所附帶的工具 service configuration editor 使用這個工具,我們可以非常方便地建立或修改伺服器和客戶端的配置檔案。wcf 配置檔案基本元素 使用 vs2005 的 add service refer...