Domanda

sto testando un HttpHandler che accetta XML. Funziona bene quando una piccola quantità di dati viene pubblicato, ma se inserisco i dati più grandi quindi circa 29MB, ottengo un errore 404 asp.net.

Vi metto al gestore da un altro gestore nello stesso progetto e ho provato 2 metodi - 1. HttpWebRequest con "POST" 2. WebClient con UploadFile () e UploadData ()

ottengo lo stesso errore 404 quando i dati inviati sono al di sopra 28.6 MB .

Inoltre ho provato a mettere un diritto punto di interruzione all'inizio del gestore di ricezione e il debug. Non è mai colpito. Appare come il gestore non è mai stato chiamato. Funziona bene per i dati di dimensioni più piccole.

Ho già la seguente impostazione. Quello che sto facendo male?

<httpRuntime maxRequestLength="1048576" />

EDIT: Ho anche cercato annuncio a un gestore diverso che pretende molto non consuma dati pubblicati, solo per prova, ma i risultati sono gli stessi. Ambiente: Win 7, IIS 7.5, .NET 3.5, VS 2008 alt text http://img401.imageshack.us/img401/4099/errormr.png

È stato utile?

Soluzione

ho scoperto che il problema è con IIS 7 e superiori. Si richiede la lunghezza massima richiesta da impostare in un posto diverso.

Vedere i seguenti link -

http: //www.experts- exchange.com/Programming/Languages/.NET/ASP.NET/Q_22943810.html

http://msdn.microsoft.com /en-us/library/ms689462%28VS.90%29.aspx

Il valore predefinito è 30000000. che è 28.6mb. Il modo corretto di set in web.config è -

  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="1073741824"></requestLimits>
      </requestFiltering>
    </security>
  </system.webServer>

Questa configurazione cancellato l'errore mi è stato sempre. Vorrei che gli errori riportati sono stati più descrittivo, almeno su macchine locali

Questo significa che l'impostazione è sufficiente per IIS 6? (Server di vivere è Win2003)

Altri suggerimenti

Provare ad aggiungere questa sezione per il file web.config:

<location path="YourHandler.aspx">
    <system.web>
        <httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
    </system.web>
</location>

supponendo percorso gestore è YourHandler.aspx.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top