wcf的中的endpoint結構,乙個endpoint就類似於xml web service中的乙個asmx檔案,它包括三個組成部分1)address 2) binding 3) contract,此三者被稱為組成endpoint的"abc".
a解決了endpoint在哪的問題,也就是"where is the endpoint?"
b 解決的是如何與endpoint通訊的問題,也就是"how to communicate with endpoint?"
c解決了endpoint提供什麼功能的問題,也就是"what functionalities do the endpoint provide?"
選擇正確的binding
binding是可以自定義實現的,可wcf框架已經為我們實現了足夠多的binding,供我們來選擇,如下表所示:
binding名稱
configuration element
描述
乙個安全的通用的binding,但它不能在deplex中使用
乙個安全的通用的binding,但能在deplex中使用
乙個安全的通用的支援wsf的binding,能對使用者進行驗證和授權
nettcpbinding
nettcpbinding
在wcf應用程式中最適合跨機器進行安全通訊的binding
netnamedpipebinding
netnamedpipebinding
在wcf應用程式中最適合本機進行安全通訊的binding
netmsmqbinding
netmsmqbinding
在wcf應用程式中最適合跨機器進行安全通訊的binding,並且支援排隊
netpeertcpbinding
netpeertcpbinding
乙個支援安全的,多機互動的binding
msmqintegrationbinding
msmqintegrationbinding
乙個用於wcf與現有msmq程式進行安全通訊的binding
下面的**分別刪除了上表中的binding在互操作性(interoperability), 安全性(security), 是否支援會話(session), 是否支援事務(transactions)和是否為全雙工(duplex)上不同。
例外,《programming wcf services》有一幅圖也能說明各自的特徵:
下面的圖給出了我們選擇binding的方式
第乙個簡單的例子:
介面:
using system;
using system.collections.generic;
using system.linq;
using system.runtime.serialization;
using system.servicemodel;
using system.text;
using system.threading;
namespace wcfservice1
// 使用下面示例中說明的資料約定將復合型別新增到服務操作。
[datacontract]
public class compositetype
set
}[datamember]
public string stringvalue
set }}
[datacontract]
public struct mynumber}}
類:using system;
using system.collections.generic;
using system.linq;
using system.runtime.serialization;
using system.servicemodel;
using system.text;
using system.threading;
namespace wcfservice1
", value);
}public compositetype getdatausingdatacontract(compositetype composite)
return composite;
}public mynumber getnum(mynumber mynum)
", datetime.now);}}
}呼叫:
//方法二
service1client o = new service1client();
console.writeline("start:", datetime.now);
console.writeline("end:", datetime.now);
console.writeline("", o.getdata(1));
console.readline();
o.close();}}
}
ZMQ筆記 入門
入門例子 只要包含 apt get install libzmq3 dev hello world server in c binds rep socket to tcp 5555 expects hello from client,replies with world include includ...
LESS學習筆記 入門
今天在網上完成了less的基礎學習,下面是我的學習筆記。總共有三個檔案 index.html main.less mian.css,其中mian.css是main.less經過koala編譯之後自動生成的。下面是 index.html mian.less charset utf 8 body div...
Yii學習筆記(入門)
use yii db activerecord class a extends activerecord hello,i am only page.1 初始化應用 訪問http localhost basic web index.php,進入yii的啟動頁面。如果提示你未安裝openssl的話,去你...