一,建立自定義繫結
有時候我們需要建立自己的繫結,這在很多情況下不是出於特殊的安全要求和使用的傳輸協議。為了建立自定義的繫結,需要建立一組繫結元素。繫結元素是由system.servicemodel.channels.bindingelement派生而來的。
**1,使用http傳輸協議和binary編碼格式的自定義繫結:
除了用配置方式建立乙個自定義繫結,也可以採用程式設計方式。
**2,用程式設計方式配置乙個自定義繫結:
classprogram
] ", item.binding.name, item.address.uri.tostring());
}console.readline();
host.close();
}catch
(communicationexception ex)
catch
(timeoutexception ex)
catch
(exception ex)
}}
二,重用自定義繫結
有時,可能需要建立乙個能夠重複用於不同解決方案的自定義繫結。由於每個繫結都派生於system.servicemodel.channels.binding這個抽象基類,我們只需建立自己的繫結類,並實現createbindingelement方法即可實現此目的。
**1,由基類binding建立乙個可重用的自定義繫結:
publicclass
nettcptextbinding : binding
public
override
bindingelementcollection createbindingelements()
public
override
string
scheme
}private
void
initialize()
}
**2,使用nettcptextbing繫結:
nettcptextbinding binding = newnettcptextbinding();
servicehost host = new servicehost(typeof
(service1));
host.addserviceendpoint(
typeof
(iservice1),
binding,
"net.tcp://localhost:10101/iservice");
host.open();
如果需要通過配置檔案使用自定義繫結,必須先擴充套件bindingcollectionelement抽象基類,然後再實現需要的方法。
**3,實現nettcptextbindingcollectionelement:
namespace}public
override readonlycollectionconfiguredbindings
}public
override
bool containskey(string
name)
protected
override
binding getdefault()
protected
override
bool tryadd(string
name, binding binding, configuration config)
}}
現在,如果要在配置檔案中使用自定義繫結nettcptextbinding,就必須用繫結擴充套件()配置nettcptextbindingcollectionelement元素。總之,如果要在配置檔案中使用自定義繫結,就需要先進行定義。
**4,在配置檔案中使用自定義繫結nettcptextbinding:
"wcfservicelibrary2.service1
">
"net.tcp://localhost:10101/iservice
"binding="
nettcptextbinding
"contract="
wcfservicelibrary2.iservice1
">
"nettcptextbinding
" type="
" />
2013-03-30
WCF 關於自定義MessageHeader支援
我們在專案中有些公共資訊可以不通過方法引數提供,將這些資訊封裝到messageheader,通過客戶端提交給server。這種情況下我們需要注意wcf不同的例項模式 會話模式對header的支援情況 實力模式 instancecontextmode percall persession支援heade...
Vue自定義雙向繫結
父子元件雙向繫結v model非表單元素 children.vue h1 template export default props mounted 3000 script parent.vue message children template import children from compo...
JS 繫結自定義屬性
1 繫結自定義屬性 1 元素節點.屬性或元素節點 屬性 繫結的屬性不會出現在標籤中,setattribute可以出現在標籤中。2 setattribute獲取不到元素節點.屬性形式繫結的屬性值,同樣元素節點.屬性也獲取不到setattribute繫結的屬性值 2 繫結內部規定屬性 1 元素節點.屬性...