Я пытаюсь IISExpress 7 в Windows XP для запросов servr из Интернета для приложения ASP .NET MVC2
Я изменил строку в iisexpress 7 applicationhost.config с
<binding protocol="http" bindingInformation=":8080:localhost" />
к
<binding protocol="http" bindingInformation=":80:" />
Запрос
GET http://1.2.3.4/Grid/Validate?_column=Toode&_entity=RidO&Toode=ooooo HTTP/1.1
Cookie: active=1; .EevaAuth=CF57FC098F341A1230626D5E339C9E94FE2D77157AAE54402DC2AB5F1AE1E079A9CB93B88B5479B4E926D3C6CDFF7D994E8FA1381CA32D20245A2A9C493B992F2E8863EA6C8E080886EDA103926096CB83B033490552F3CB9BFF62ABD5CFBA5181F378888BFF96D51400319AF8955B556D50A866
Host: 1.2.3.4
из Интернета вызывает ошибку неверного запроса:
HTTP/1.1 400 Bad Request
Cache-Control: private, s-maxage=0
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 2.0
X-AspNet-Version: 2.0.50727
X-Powered-By: Eeva ERP
Date: Thu, 24 Nov 2011 11:52:30 GMT
Content-Length: 11
Bad Request
Если запрос отправлен с локального хоста, это исключение не возникает. Все найденные мной решения описывают, что это вызвано рекламными символами в URL-адресе. URL, если этот запрос http://1.2.3.4/Grid/Validate
(IP-адрес изменен) не содержит недопустимых символов.
Как разрешить обработку этой формы запроса в Интернете?
Проверьте журналы IIS в C: \ inetpub \ logs \ wmsvc #. Ваш запрос может поступать с символами в кодировке HTML вместо URL, закодированных следующим образом:
http://1.2.3.4/Grid/Validate?_column=Toode&_entity=RidO&Toode=ooooo
Если это не так, это База знаний Microsoft статья может вам помочь (в ней говорится о Windows Server 2003, но, если я правильно помню, она также может относиться к XP).