簡體   English   中英

從netTcpBinding WCF服務返回的消息大於從ASMX Web服務返回的消息

[英]Messages returned from a netTcpBinding WCF service are larger than those returned from an ASMX web service

基本上,我已經創建了一個netTcpBinding WCF服務,該服務使用的方法返回一組從500到50000對象的簡單對象。 這些對象包含一些字符串,int和DateTime屬性。 調用此方法后,我試圖測試內存消耗。 我注意到,當我使用經典的ASMX Web服務執行相同的測試時,這種情況下的內存消耗較少。 據我了解,netTcpBinding WCF服務中的消息是二進制編碼的,而在ASMX Web服務中它們是XML格式的,因此在前一種情況下,消息應該較小。 但是,從netTcpBinding服務返回的消息幾乎是ASMX消息大小的2倍。 知道為什么會這樣嗎?

我的理解是,ASMX僅基於HTTP使用SOAP協議來傳輸數據,而WCF具有多個綁定和傳輸選項。

TCP / IP作為WebService與使用WebService的對象之間的流連接進行操作。 TCP / IP將重新傳輸所有丟失的數據包(所有連接都會丟失一些數據包),這又可能導致傳輸的整體數據更大。

請參閱: http : //msdn.microsoft.com/en-us/library/ms733769(v=vs.110).aspx

問題實際上在於您如何計算內存損失。 您正在使用GC類還是正在測量請求標頭的總大小?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM