2010-03-19 15 views
5

Sto tentando di caricare file xml di grandi dimensioni in un servizio REST ... Ho provato quasi tutti i metodi specificati su StackOverflow su google, ma non riesco ancora a scoprire dove sono andando male .... non riesco a caricare un file maggiore di 64 kb ..caricamento di xml di grandi dimensioni per il servizio WCF REST -> 400 Richiesta errata

ho specificato il maxRequestLength:

<httpRuntime maxRequestLength="65536"/> 

e il mio config vincolante è la seguente:

<bindings> 
    <webHttpBinding> 
    <binding name="RESTBinding" maxBufferSize="67108864" maxReceivedMessageSize="67108864" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"> 
     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" 
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/> 
    </binding> 
    </webHttpBinding> 
</bindings> 

In il mio lato C# client che sto facendo quanto segue:

WebRequest request = HttpWebRequest.Create(@"http://localhost.:2381/RepositoryServices.svc/deviceprofile/AddDdxml"); 

     request.Credentials = new NetworkCredential("blah", "blah"); 
     request.Method = "POST"; 
     request.ContentType = "application/xml"; 
     request.ContentLength = byteArray.LongLength; 


     using (Stream postStream = request.GetRequestStream()) 
     { 
      postStream.Write(byteArray, 0, byteArray.Length); 
     } 

Non v'è alcuna configurazione speciale fatto sul lato client ...

ho provato violinista ... Il client invia una richiesta corretta .. .Ma il server risponde immediatamente con un 400 ..

+0

@marc_s: Stavo pensando la stessa cosa, ma secondo la documentazione "la massima richiesta di dimensioni [è] in kilobyte". http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.maxrequestlength.aspx –

risposta

0

Per WCF SOAP tutto quello che dovevo fare era:

<binding name="uploadFilesBasicHttpBinding" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" receiveTimeout="00:10:10" sendTimeout="00:10:00" openTimeout="00:10:00" closeTimeout="00:10:00"> 
    <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647"/> 
    <security mode="TransportWithMessageCredential"> 
     <message clientCredentialType="UserName"/> 
    </security> 
    </binding> 
Problemi correlati