Ошибка при добавлении служебной ссылки. Сервер совершил нарушение протокола - PullRequest
1 голос
/ 19 августа 2010

После перемещения приложения на общий хостинг я не могу добавить ссылку на службу .asmx и службы WCF, которые раньше работали на выделенном сервере.

Ошибка при добавлении ссылки на службу WCF:

There was an error downloading 'address ... Service.svc'.
The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF
Metadata contains a reference that cannot be resolved: 'address ... Service.svc'.
The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF
The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF
If the service is defined in the current solution, try building the solution and adding the service reference again.

Ссылка на сайт asmx:

There was an error downloading 'address ... .asmx'.
The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF
There was an error downloading 'address ... .asmx/$metadata'.
The server committed a

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 20 октября 2010

Один из способов отладки (и чтобы убедиться, что проблема связана с нарушением протокола) - это использовать Fiddler (Http Web Proxy) и посмотреть, не возникает ли такая же ошибка Если это не так (то есть Fiddler решил эту проблему за вас), вы сможете исправить ее, используя флаг UseUnsafeHeaderParsing.

Если вы ищете способ установить это значение программно, посмотрите примеры здесь: http://o2platform.wordpress.com/2010/10/20/dealing-with-the-server-committed-a-protocol-violation-sectionresponsestatusline/

1 голос
/ 19 августа 2010

Похоже, что какое-то сетевое оборудование или программное обеспечение настроено для преобразования концов строк в стиль Unix.Скажите об этом специалистам службы технической поддержки хостера, и они могут сразу сказать: «О, вы не хотите, чтобы Unix-режим включался» или что-то в этом роде.

1 голос
/ 19 августа 2010

Похоже, что когда вы загружали файлы, что-то (вероятно, ваш FTP-клиент) преобразовал все окончания строк в стиль Unix. Попробуйте заново загрузить файлы, убедившись, что преобразование файлов не произошло.

...