Мы загружаем файлы шейп-файлов на наш GeoServer с помощью запросов REST в нашем приложении ASP.net.Небольшие файлы .zip (~ 2 МБ) работают нормально, но ничего большего (у нас есть один .zip ~ 70 МБ) не получится.WebRequest.GetResponse () возвращает неверный шлюз 502, считывание потока ответа выдает следующую ошибку:
"Указанное приложение CGI обнаружило ошибку, и сервер завершил процесс."
Этокод, который создает запрос и получает ответ:
WebRequest request = WebRequest.Create(URL);
request.ContentType = "application/xml";
request.Method = "PUT";
request.Credentials = new NetworkCredential(username, pswd);
Stream requestStream = request.GetRequestStream();
requestStream.Write(contentBytes, 0, contentBytes.Length);
requestStream.Close();
WebResponse response = request.GetResponse();
вызов REST для / workspaces / {workspaceName} / datastores / {storeName} / {method}. {format} , который загружает файлы в указанное хранилище данных и создает его, если он не существует.
contentBytes - это байт [], созданный из MemoryStream из загруженного архива HttpPostedFile.
Like Iсказал, работает с меньшими молниями.Похоже, что поиск ошибки указывает на то, что она исходит из Azure или IIS, однако ни одно из решений не соответствует нашему случаю ( изменение web.config способами, которые не применяются к нашему приложению или не работают ), поскольку это не приложение .net Core.
Этот вопрос , похоже, имел аналогичную проблему, но получал другие сообщения об ошибках.Увеличение таймаута не работает ни в C #, ни в web.config.
Похоже, что с самими шейп-файлами нет ничего плохого, другие программы просмотра шейп-файлов могут обрабатывать эти шейп-файлы.