![](/img/trans.png)
[英]Downloading a .doc extension file saved in stream memory - returned from web service api (.asmx file) to angular service
[英]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.