Почему я не могу развернуть свое работающее по-другому приложение Silverlight? - PullRequest
0 голосов
/ 04 марта 2011

Внутри Visual Studio мое приложение Silverlight Business прекрасно работает.Но когда я публикую его на IIS моей локальной машины (версия 6.1), он работает нормально, но, похоже, не может получить доступ к службам RIA.Первая всплывающая ошибка:

enter image description here

В остальном приложение работает нормально.Навигация в порядке.То есть до тех пор, пока он не попытается получить доступ к данным с сервера через службы RIA.Я получаю сообщения типа:

enter image description here

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

enter image description here

Редактировать:

Я использовал fiddler, чтобы получить точную ошибку после того, как понял, чтоИсключением «NotFound» может быть что угодно.Это выглядит следующим образом.


Ошибка сервера в приложении '/ PPCa'.

Ресурс не найден.

Описание: HTTP404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, изменилось его имя или временно недоступен.Пожалуйста, просмотрите следующий URL и убедитесь, что он написан правильно.

Запрошенный URL: /PPCa/login.aspx


У меня нет страницы login.aspx.Это что-то внутреннее в Silverlight?Нужно ли создавать такую ​​страницу?

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

В Windows 7 вы будете использовать IIS7.

В приложении Internet Information Services Manager (находится в инструментах администрирования) щелкните самый верхний узел в левой панели, который будет выглядеть примерно так: MACHINENAME (MACHINENAME \ yourUsername). В списке функций дважды щелкните Ограничения ISAPI и CGI и убедитесь, что показанные версии ASP.NET разрешены и не запрещены.

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

Файл web.config вашего веб-проекта, в котором размещается Silverlight XAP, должен выглядеть следующим образом (плюс дополнительные элементы, такие как строки подключения к БД и т. Д.):

<?xml version="1.0"?>
<configuration>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="DomainServiceModule" preCondition="managedHandler"
           type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </modules>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>

  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpModules>
      <add name="DomainServiceModule" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </httpModules>
  </system.web>

</configuration>
0 голосов
/ 04 марта 2011

Возможно, вы захотите взглянуть на это:

...