maxRequestPathLength отсутствует в документации ASP.NET 4 и не работает - PullRequest
2 голосов
/ 07 октября 2010

Если я пытаюсь использовать новые настройки maxRequestPathLength в приложении ASP.NET, это не работает.Я получаю нераспознанную ошибку атрибута.Я пытался использовать как интегрированные, так и классические пулы приложений ASP.NET в IIS 7. Что еще забавно, если вы ищете maxRequestPathLength в MSDN, его нет в документации, кроме списка новых функций для ASP.NET 4. Что дает?

Ответы [ 3 ]

2 голосов
/ 17 мая 2011

Это заставило меня ненадолго остаться в стороне.Способ сделать это в .NET 4 такой:

<httpRuntime maxUrlLength="1024" relaxedUrlToFileSystemMapping="true"/>

в разделе <system.web> файла web.config.Я сделал это, и это сработало.

2 голосов
/ 03 января 2012

Я боролся с этим и с помощью этого поста en несколько других постов на форуме заставили его работать на меня.Вот мой журнал и выводы:

Чтобы разрешить более длинные URL-адреса, чем по умолчанию, просто измените это в своем файле web.config (.NET 4.0 и выше)

<httpRuntime maxUrlLength="1024" relaxedUrlToFileSystemMapping="true"/>

Примечание: если установлено relaxedUrlToFileSystemMappingТо есть в false, URL-сегменты, превышающие 260, завершатся с ошибкой IOException PathTooLongException:

Указанный путь, имя файла или оба они слишком длинные.Полное имя файла должно быть не более 260 символов, а имя каталога должно быть не более 248 символов.

Чтобы разрешить более длинные сегменты URL, тогда по умолчанию 260 добавляет / изменяет этот параметр реестра:

"HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ HTTP \ Parameters."Это имя UrlSegmentMaxLength.(Меч)

И большинство важно после изменения этого параметра. ПЕРЕЗАГРУЗИТЬ вашу машину.Я пробовал IIS-Reset и net stop http / net start http, но это не сделало изменение эффективным.

В настоящее время у меня есть 2 доступные машины.Моя локальная dev-машина (Windows 7 / IIS 7.5) и dev-сервер (Windows 2003 / IIS 6.0) обе перезагрузили, чтобы изменения вступили в силу.

2 голосов
/ 25 февраля 2011

Очевидно, это имя параметра было изменено и перемещено в реестр в «HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ HTTP \ Parameters» Это имя UrlSegmentMaxLength. Значение по умолчанию - 260. Этот конкретный параметр ограничивает количество символов, допустимое в каждом сегменте пути URL-адреса. В https://stackoverflow.com/questions, «вопросы» будут сегментом пути.

Документацию по этому вопросу можно найти в статье базы знаний Майкрософт по настройкам реестра http.sys .

...