Ошибка при отправке большого (8 МБ) файла excel с использованием HttpWebRequest для службы сервис-службы

Я пытаюсь отправить большой файл excel в службу отдыха (используя служебную программу).

клиентские и серверные службы службы Servicestack развернуты на разных серверах.

Я использую следующий код на стороне клиента для загрузки файла excel (размер 8 мб)

взято из

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();

выше код работает отлично, когда загружаемый файл составляет 2-3 МБ. он выдает ошибку, когда размер файла составляет около 8 МБ.
при отладке это дает мне следующую ошибку

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:

Я попытался изменить значения настроек, которые можно увидеть подключенными.

В чем может быть проблема? Пожалуйста, помогите

Обновление 1: у меня есть IIS 8.5 на сервере, поэтому я думаю, что размер файла (8 МБ) может и не быть проблемой. Мне еще нужно добавить некоторые настройки в web.config, чтобы разрешить отправку файла большого размера через POST

ОБНОВЛЕНИЕ 2: найдено решение. Добавление maxAllowedContentLength и maxRequestLength делает трюк. Пожалуйста, проверьте ссылку, предоставленную Smartdev в разделе комментариев

6
08 сент. '15 в 13:10
источник поделиться
1 ответ

Вам все равно нужно отредактировать файл web.config. Он должен выглядеть следующим образом:

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

Это позволит вам загружать до 10 МБ

1
17 сент. '15 в 21:14
источник

Посмотрите другие вопросы по меткам или Задайте вопрос