3

Я пытаюсь Buid сайта следующего текста:Silverlight 4.0 + MVC 2.0 + WCF RIA Services + EF 4.0 = Load Error

  • VS 2010 (для обновленного WCF RIA Services)
  • Silverlight 4.0 (в комплекте с услугами WCF RIA).
  • MVC 2
  • EF 4,0

Я настраиваю его так, чтобы страницы с общественностью облицовочных будут HTML с MVC, но часть администрации будет Silverlight навигационного приложением с использованием с использованием WCF RIA Services для данных доступ.

Когда я создаю Silverlight приложения в приложении WebForms, он работает (я могу добавить DataGrid и извлечение данных с использованием EF 4.0 и WCF RIA Services успешно): alt text http://www.patleague.com/images/sl4_webforms.png

Когда я создаю приложение Silverlight в приложении MVC2: alt text http://www.patleague.com/images/sl4_mvc2.png

я получаю ошибку следующим образом (я добавил тот же DataGrid в обоих случаях - простая таблица с 2 записей): alt text http://www.patleague.com/images/sl4_mvc_dataerr.png

Серверная часть веб-форм работает, а серверная часть MVC этого не делает. Я безуспешно пробовал журналирование WCF, а также скрипач, но я как-то не могу получить какой-либо результат (используя пример здесь: http://msdn.microsoft.com/en-us/library/ms730064.aspx), и я также пытался скрипач получить некоторую информацию без везения. Я действительно борюсь с этим, и мне интересно, кто-нибудь еще столкнулся с этой проблемой и нашел способ обойти это?

Спасибо, Dennis

+0

Извините за недостающие фотографии, сайт, на котором я их разместил, больше не в сети. –

ответ

1

Эта проблема может быть специфической для моего сайта, но, возможно, у других людей есть одна и та же проблема, и я был настолько ошеломлен этим, что я некоторое время отказался и попробовал другие методы, чтобы сделать то, что я хотел , но вернулся к Silverlight, потому что мне трудно работать с Javascript и JS UI-библиотеками. Мне повезло с fiddler при работе на развернутом сайте (я не получал никаких результатов при работе с сервером разработки).

Когда я просмотрел на мой сайт с SilverLight приложение, окно выскочило с обычной «операции загрузки Сбой запроса ...», и стельку показал следующее при выделении ошибки:

IIS specified authentication schemes 'Basic, Anonymous', but the binding only supports specification of exactly one authentication scheme. Valid authentication schemes are Digest, Negotiate, NTLM, Basic, or Anonymous. Change the IIS settings so that only a single authentication scheme is used.

Я посмотрел эту ошибку в DiscountASP.NET (мой хостинг-провайдер) и нашел статью KB, что поручил мне обновить web.config (для IIS7) следующим образом:

<system.webServer> 
    <security> 
    <authentication> 
     <basicAuthentication enabled="false" /> 
    </authentication> 
    </security> 
</system.webServer> 

и альт! Я мог использовать службы WCF RIA с Silverlight в asp.net MVC2! Я также обнаружил, что для меня нет необходимости создавать специальную службу и domainhostfactory, как описано в нескольких блогах, при исследовании этого материала или изменении маршрутизации во избежание взаимодействия с MVC и запросом на обслуживание.Это все, что я должен был сделать

Я думаю, это довольно базовое решение, и, надеюсь, это поможет кому-то другому. Я был крайне расстроен этим и разочаровался в том, что такое простое исправление является общедоступным, но поэтапные инструкции для этого сценария не даются от Microsoft, поскольку в нем используются самые современные технологии Microsoft.

Спасибо, Деннис

+0

Большое вам спасибо, Деннис. У моего хост-провайдера также была опция Включить встроенную проверку подлинности Windows. Убедитесь, что для этого параметра установлено значение False! –

5

Игнорирование маршрутов для служб исправили эту проблему при добавлении к Global.asax.cs:

routes.IgnoreRoute("{*allsvc}", new { allsvc = @".*\.svc(/.*)?" }); 

Кредита на этот ответ должен пойти OneSmartGuy: его ответ фиксированного мои выпуск тоже.

+0

Это решение перестало работать с SL4 и окончательной версией служб WCF RIA. –