使用WCF的優點是,如果您想在網絡或外部世界中公開服務,則只需更改/添加一些其他配置,而無需更改代碼。
因此,在你有一臺機器上或網絡中的客戶端和服務器的情景絕對是罰款和最簡單的方式是有暴露的兩個終點,與上相同的服務您的要求的交易。
讓您可以與一個端點很好,但身份驗證過程中使用不同的端點與不同的結合機制減少你的開銷。例如:當您在同一臺計算機上時,可以使用net:pipe或net:tcp binding 當您在域內時,可以使用net:tcp或httpbinding。
使用不同的綁定時性能會有所不同。
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="MyNamespace.MyValidator, MyNamespace" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
在客戶端可以設置用戶名/密碼組合成ClientCredentials.UserName:
我需要類似的東西,並在審查不同的內建選項後決定使用MessageInspector http://msdn.microsoft.com/en-us/library/aa717047.aspx。通過使用這個,我可以將數據注入客戶端和服務實現邏輯之外的頭部。 – Michael 2011-05-12 21:40:35