2016-11-06 2 views
2

Не знаете, в чем причина. Добавлено также в Web.config. maxUrlLength = "1024" maxQueryStringLength = "1024" requestPathInvalidCharacters = "" maxRequestLength = "1024" relaxedUrlToFileSystemMapping = "true" Я кодирую параметр uri и отправляю запрос, но получаю недействительный URL-адрес все время. Адрес: http://localhost:51840/api/xxxxxxx/xxxxxxxxxxxx/n4cEF3OM0LC0q8I6OMe0XdHo8evXnoeyC06A%252fL%252fu0a%252f6e0RQrdxl2%252fPkSKNfh4aEQm78TReX1zIfGDB1bgH%252bGBEI%252fBw6i0DwQ6%252b3dk6yjs1UZqqICQye6QqVX8bJT%252fBK7GE8a22FeXJiPVtEgFRmp4WcHc4pIRHaE6QGK28kiASGFfUC9tDdRZhLfmYJsluGpsseSUOc5Inxlf3fTFNe7sg7gixrLTlwhfJIATZWWsPc%252bfo6BITTFA%253d%253dЯ получаю 400 плохих запросов - недействительный адрес, когда длина запроса превышает 320 + символов.

Если я уменьшу URL-адрес до следующего, он отлично работает. http://localhost:51840/api/xxxxxxx/xxxxxxxxxxxx/n4cEF3OM0LC0q8I6OMe0XdHo8evXnoeyC06A%252fL%252fu0a%252f6e0RQrdxl2%252fPkSKNfh4aEQm78TReX1zIfGDB1bgH%252bGBEI%252fBw6i0DwQ6%252b3dk6yjs1UZqqICQye6QqVX8bJT%252fBK7GE8a22FeXJiPVtEgFRmp4WcHc4pIRHaE6QGK28kiASGFfUC9tDdRZhLfmYJsluGpsseSUOc5Inxlf3fTFNe7sg7gixrLTlwhfJIATZWWsPc%252bfo6BI

Когда последние 10+ символов дают мне плохую просьбу. Любая помощь очень ценится.

+0

Посмотрите на следующем, возможно, потребуется изменение реестра, а также [URL-длина-выпуск] (http://stackoverflow.com/questions/15004232/wcf-get-url-length-limit -issue-bad-request-invalid-url) – Mark

+0

Спасибо за ответ Mark. Но не могут ли эти параметры реестра быть переопределены в файле web.config? –

+1

Я считаю, что ваша проблема заключается в том, что по умолчанию максимальная длина сегмента URL составляет 260, и это нужно увеличить. Это контролируется значением в реестре, которое, как я полагаю, называется UrlSegmentMaxLength, увеличивая его до чего-то большего или выработав способ уменьшить размер ваших сегментов URL. Сегмент URL - это количество символов между чертами, в вашем случае это много! – Mark

ответ

5

Просто документирование моего опыта:

Моего вопрос был один указываемый @Mark на комментариях вопроса:

"по умолчанию максимальной длина URL сегмента 260"

Он предложил увеличить этот лимит в реестре, но я не хотел таких неприятностей. Предположение @Vignesh T работал лучше:

"Заменил сегмент URL-адрес в качестве параметра строки запроса и он работал отлично"

В итоге, вместо того, чтобы делать:

http://path.to.website/very-long-string-goes-here/ 

Я только что сделал:

http://path.to.website/?key=very-long-string-goes-here 
+0

Работал для меня !! –

+1

IIS отстой, это все, что я должен сказать – Toolkit

+1

Это так, но некоторые люди должны иметь дело с ним по любой причине/требованию, поэтому ... –

Смежные вопросы