BasicHttpBinding.MaxReceivedMessageSize Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta la dimensione massima in byte per messaggi che possono essere ricevuti in un canale configurato con questa associazione.
public:
property long MaxReceivedMessageSize { long get(); void set(long value); };
public long MaxReceivedMessageSize { get; set; }
member this.MaxReceivedMessageSize : int64 with get, set
Public Property MaxReceivedMessageSize As Long
Valore della proprietà
Dimensione massima, in byte, per un messaggio elaborato dall'associazione. L'impostazione predefinita è 65.536 byte.
Eccezioni
Il valore è minore di zero.
Esempio
L'esempio seguente imposta MaxReceivedMessageSize su 1.000.000 byte.
BasicHttpBinding binding = new BasicHttpBinding();
binding.MaxReceivedMessageSize = 1000000;
Il valore di questa proprietà può essere impostato anche nel file di configurazione.
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="Binding1"
maxReceivedMessageSize = "1000000">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
</configuration>
Commenti
Le dimensioni dei messaggi che possono essere ricevuti sul collegamento tramite servizi tramite BasicHttpBinding sono associati alla quantità di memoria allocata per ogni messaggio. Questo vincolo alla dimensione dei messaggi limita l'esposizione agli attacchi di tipo DoS.
Esiste inoltre una proprietà MaxBufferSize sulla classe BasicHttpBinding:
Per i trasporti con memorizzazione nel buffer (TransferMode impostato su Buffered). Questo valore è sempre uguale a quello specificato da MaxReceivedMessageSize.
Per i trasporti inviati nel flusso (proprietà TransferMode impostata su Streamed), per generare i messaggi devono essere memorizzate nel buffer solo le intestazioni SOAP. Il corpo può essere trasmesso su richiesta. In questo caso, MaxBufferSize è minore o uguale a MaxReceivedMessageSize, dove MaxReceivedMessageSize limita le dimensioni del messaggio complessivo (intestazioni e corpo) e MaxBufferSize limita le dimensioni delle intestazioni SOAP.