Я получаю ошибку 400 при попытке импортировать данные в EPiServer

#c# #iis #episerver

#c# #iis #episerver

Вопрос:

Я пытаюсь импортировать два файла episerverdata размером 2,6 ГБ и 6 ГБ на веб-сайт, который не имеет другого контента и является просто исходным кодом веб-сайта. Я пытаюсь сделать это на локальной машине разработки с помощью IIS Express. Однако всякий раз, когда я пытаюсь загрузить любой файл, файл достигает 99%, а затем показывает ошибку HTTP 400 — неверный запрос. Ошибка гласит, что ASP.NET обнаружены недопустимые символы в URL, но я не вижу, как это сделать, учитывая, что это просто загрузка файла, и имя файла полностью соответствует (Pages_ExportedFile).

Я попытался увеличить лимит загрузки файлов IIS, используя web.config моего проекта:

  • maxRequestLength=»40960″
  • executionTimeout=»7200″
  • maxAllowedContentLength=»1073741824″

Я также попытался медленно обновить сайт до ASP.NET Framework 4.6.1 из 4.5. Сейчас я использую EPiServer 10, хотя пытаюсь обновить его до 11, чтобы посмотреть, решит ли это проблему.

Комментарии:

1. Какую точную версию epi 10 вы используете сейчас?

2. Привет @EricHerlitz! Извините, что не перезвонил вам раньше. В итоге оказалось, что это был не ответ на мою проблему, а что-то совсем другое. Я задам ваш ответ как правильный вопрос, чтобы помочь будущим программистам, которым, возможно, потребуется помощь в решении проблем такого типа.

3. Вы можете опубликовать, как вы решили проблему ниже, и отметить это как ответ.

4. @EricHerlitz Честно говоря, это не имело абсолютно никакого отношения к моей проблеме, указанной выше, поэтому я думаю, что ответ на мою проблему спорный.

Ответ №1:

Максимальная длина запроса задается в килобайтах, если ваш файл составляет 6,0 ГБ, он должен иметь значение не менее 6291456,

Время выполнения задается в секундах, 7200 будет означать два часа. Этого должно быть достаточно, и я предполагаю, что вы установили элемент в системе.веб-раздел, т.Е.

 <system.web>
    <httpRuntime executionTimeout="7200" />
</system.web>
  

maxAllowedContentLength задается в байтах, 6,0 ГБ = 6442450944 байта

Поскольку вы используете IISExpress, существуют некоторые ограничения

  • в зависимости от вашей версии могут быть фактические ограничения на хранение
  • возможно, вам потребуется настроить файл applicationhost.config в %userprofile%DocumentsIISExpressconfig . В зависимости от реализации настройки, установленные выше, могут также применяться к конфигурации iis, и тайм-ауты могут фактически поступать из iisexpress, а не iis.

Комментарии:

1. Спасибо, Эрик! К сожалению, это не решило мою проблему. Теперь я думаю, что это может не иметь никакого отношения к размеру файла. Есть ли у вас какие-либо предложения относительно того, почему возникают проблемы с загрузкой файлов данных EPiServer?

2. @LinkChef сначала попробуйте с некоторыми небольшими файлами и посмотрите, все еще ли у вас проблемы. Это может сузить проблему