Как мне увеличить свойство maxUrlLength в конфигурации в asp.net MVC 3?
Я получаю эту ошибку:
Длина URL-адреса для этого запроса превышает настроенное значение maxUrlLength.
Оглядываясь на ближайшую вещь, которую я могу найти, находится в web.config,
<requestFiltering>
<requestLimits maxUrl="xxx">
</requestFiltering>
Однако это не MaxUrlLength и не решает проблему. Есть идеи как починить?
5 ответов
Согласно ответу Ашока, это будет равно:
<httpRuntime maxUrlLength="1024" relaxedUrlToFileSystemMapping="true"/>
в <system.web>
раздел web.config.
Взгляните на этот пост от Hanselman. Хотя в этом посте речь идет о принятии обычно недопустимых символов в URL, он также упоминает, как настроить длину пути и строку запроса.
Пока мы здесь, обратите внимание, что в ASP.NET 4 вы также можете изменить допустимые длины path и queryString:
<httpRuntime maxRequestPathLength="260" maxQueryStringLength="2048" />
У меня была эта проблема в службе отдыха, которую я создал с помощью C# .net 4. Я установил переменную maxUrlLength в разделе system.web файла Web.Config.
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime maxUrlLength="2000"/>
</system.web>
....
Имея ту же проблему в IIS8, решением было модифицировать корневой Web.config для.NET Framework. Этот файл находится в папке%windir%\Microsoft.NET\Framework\framework_version\CONFIG. Редактирование файла web.config в корне сайта не решило проблему.
В моем случае я отредактировал настройку визуально в приложении IIS (область фильтрации запросов):
Это действие изменило мой web.config следующим образом:
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="524288000" maxQueryString="4096" />
</requestFiltering>
</security>
Как упоминалось в некоторых других ответах, не забудьте также рассмотреть длинные строки запроса в запросе.