Sto tentando di inviare file di Excel di grandi dimensioni al servizio di restituzione (utilizzando la servicestack).Errore durante l'invio di file excel di grandi dimensioni (8mb) mediante HttpWebRequest al servizio di servicestack
Le applicazioni client e server (servizio Servicestack) sono distribuite su server diversi.
Sto usando seguente codice lato client per caricare il file Excel (formato 8 mb)
tratto da
http://www.codeproject.com/Articles/501608/Sending-Stream-to-ServiceStack
HttpWebRequest client = (HttpWebRequest)WebRequest
.Create(ConfigurationManager
.AppSettings["applicationUrl"]
+ @"/servicename/"
+ fileUpload.FileName
+ @"/" + FileType + @"/"
+ Utility.UserName + @"/"
+ Utility.EmployerID + @"/"
+ UploadedFrom);
client.Method = WebRequestMethods.Http.Post;
////the following 4 rows enable streaming
client.AllowWriteStreamBuffering = false;
client.SendChunked = true;
client.ContentType = "multipart/form-data;";
client.Timeout = int.MaxValue;
// client.KeepAlive = false;
//client.ProtocolVersion = HttpVersion.Version10;
//client.ContentLength = 0;
//client.Timeout = Timeout.Infinite;
//client.AllowWriteStreamBuffering = true;
Stream stream = fileUpload.InputStream;
if (stream.CanRead)
{ stream.Copy(client.GetRequestStream());
}
var response = new StreamReader(client.GetResponse().GetResponseStream()).ReadToEnd();
sopra codice funziona bene quando il file da caricare è 2-3 MB. genera l'errore quando la dimensione del file è di circa 8 MB.
durante il debug mi dà seguente errore
System.Net.WebException was caught
HResult=-2146233079
Message=The remote server returned an error: (500) Internal Server Error.
Source=System
StackTrace:
at System.Net.HttpWebRequest.GetResponse()
at Myproject.Web.Controllers
.Employer.FileUploadController
.Upload(FileUploadViewModel fileUploadViewModel
,HttpPostedFileBase fileUpload
,String DataFileType
,String UploadedFrom)
in d:\MyProject\projNewArch\Controllers\Employer\FileUploadController.cs:line 262
InnerException:
Ho provato a cambiare i valori di regolazione che possono essere viste come collegato.
Quale potrebbe essere il problema? Please help
Aggiornamento 1: ho IIS 8.5 sul server, quindi penso che la dimensione del file (8mb) potrebbe non essere il problema. Devo ancora aggiungere alcune impostazioni in web.config per consentire l'invio di file di grandi dimensioni su POST
AGGIORNAMENTO 2: trovata la soluzione. L'aggiunta di maxAllowedContentLength e maxRequestLength fa il trucco. Controllare il collegamento fornito da Smartdev nella sezione commenti
Questo link potrebbe essere rilevante: http://stackoverflow.com/questions/2880722/is-http -post-limitless – Ulric
'(500) Errore interno del server' è necessario esaminare le * tracce * del server e eseguire il debug del server * *. –
@ulric Ho aggiornato la qustion. pensi che potrebbe essere il problema? – amol