2011-09-08 46 views
1

我有一個客戶端,可以調用WCF服務。當我第一次打電話給服務時,有兩個額外的電話(通過Fiddler可見)。爲什麼WCF會撥打額外的電話?

的第一個動作是S:mustUnderstand屬性

enter image description here

第二個電話是:

enter image description here

爲什麼額外的呼叫被製成有人能解釋一下嗎?如果可能,如何擺脫它們? 僅供參考,所傳輸的數據由Marc Gravell的Protocol Buffers庫進行序列化。

+0

小調 - 如果可以在傳輸 –

+0

@Marc Gravell上啓用MTOM,則可以減少額外的帶寬。什麼時候MTOM變得有用(有效載荷的大小)?我認爲它對小的有效載荷沒有影響,對嗎? – AngryHacker

+0

當然;在小型有效載荷上,您可能看不到太多優勢(延遲將是您的主要因素) –

回答

3

額外的呼叫用於設置安全通信和安全上下文。閱讀此鏈接:http://blog.facilelogin.com/2008/11/secure-conversation-with-wcf.html

+0

謝謝。在這種情況下,我並不關心安全性。我得到這個,因爲我使用wsHttpBinding? – AngryHacker

+0

「wsHttpBinding」是安全性。 –

+0

這至少是它的一部分。 'wsHttpBinding'不支持WS- *功能,包括WS-Security。 'basicHttpBinding'不會,所以不會包含這些額外的調用。但是,可能會禁用'wsHttpBinding'的額外安全部分,但是我忘記了實際的配置設置。你也許可以谷歌的東西像「wcf禁用ws-security」並找到一些寫法。 – CodingWithSpike