Ошибка WCF при размещении навигационного приложения SL4

#silverlight #wcf #iis-7 #asp.net-membership

#silverlight #wcf #iis-7 #asp.net-членство

Вопрос:

У меня есть навигационное приложение SL, которое в настоящее время работает в пакете общего хостинга с сторонним провайдером. Я могу войти в систему и зарегистрироваться с помощью ASP.NET поставщики членства и ролей.

Теперь я настроил выделенный сервер, на котором будет работать только мое приложение. У него еще нет доменного имени, которое указывает на него… Я получаю к нему доступ через IP-адрес.

Я скопировал весь сайт (включая ClientBin и все XAP) на новый сервер, но службы аутентификации и регистрации не работают … они просто возвращают NotFound .

Когда я проверяю Fiddler на рабочем сайте, вызывается эта служба :

 www.myaddress.com/ClientBin/MyApp-Web-AuthenticationService.svc/binary/Login
  

что, конечно, успешно. Однако на другом сайте трассировка скрипача выглядит так же (потому что я только что скопировал сайт) :

 123.123.123.123/ClientBin/MyApp-Web-AuthenticationService.svc/binary/Login
  

но вызов завершается с ошибкой NotFound. Fiddler сообщает об этом как об ошибке внутреннего сервера HTTP / 1.1 500. Когда я открываю

 http://localhost/ClientBin/MyApp-Web-AuthenticationService.svc/binary/Login
  

на сервере я получаю HTTP / 1.1 500, а также это описание :

 Handler "svc-Integrated" has a bad module "ManagedPipelineHandler" in its module list
  

Это наводит меня на мысль, что с моей конфигурацией IIS что-то не так, поскольку точно такой же код работает в другой системе.

Что такое «плохой модуль»? Как мне это исправить?

Ответ №1:

Обычно этот тип ошибки заключается в том, что ASP.Net не активирован или что обработчик для svc не зарегистрирован или зарегистрирован неправильно.

В вашем случае это выглядит немного по-другому. Возможно, у вас есть код .net framework 4.0, который вы пытаетесь запустить в пуле приложений .net framework 2.0.

Комментарии:

1. Приложение запускается в DefaultAppPool, который я изменил на .NET 4.0. Я также попытался создать другой пул приложений и установить для него значение .NET 4.0. Та же ошибка.

2. Хотя почти получилось… Необходимо запустить asp_regiis.exe /я из %WINDIR%Microsoft.NetFrameworkv4.

Ответ №2:

Ошибки IIS 500 часто отображаются с дополнительной информацией в журнале событий Windows — если вы можете каким-то образом получить к этому доступ?

Также я заметил, что часто сервер фактически отправляет отладочный вывод обратно клиенту, который, похоже, все игнорирует. Вы проверили весь необработанный ответ, который возвращается с сервера, чтобы посмотреть, есть ли там какие-либо подсказки?