Проблема развертывания Silverlight - PullRequest
1 голос
/ 11 августа 2011

У меня есть приложение Silverlight, в котором есть Linq to Sql для подключения к базе данных. Это также использует услуги RIA.

Это работает нормально при локальном запуске, однако, когда я размещаю его на сервере, он просто зависает. Я выяснил, что он не может подключиться к контексту домена и получить данные из базы данных (которые ему нужно загрузить).

Я пробовал:

-Установка служб RIA на сервер (не полная установка, поскольку на него не нужно добавлять VS2010) - Установка Silverlight 4 и любых наборов инструментов на сервере - Изменение всех моих DLL-файлов DomainServuce на Только чтение

Ответы [ 4 ]

0 голосов
/ 16 августа 2011

Это похоже на проблему с кросс-доменным доступом.

  1. Создайте файл crossdomain.xml в служебной папке RIA (на сервере) и включите следующий xml

    <?xml version="1.0"?>
    <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
    <cross-domain-policy>
        <allow-http-request-headers-from domain="*" headers="*"/>
    </cross-domain-policy>
    
  2. Создайте еще один файл клиентской политики доступа.xml со следующим XML

    <?xml version="1.0" encoding="utf-8" ?>
    <access-policy>
      <cross-domain-access>
        <policy>
          <allow-from http-request-headers="*">
            <domain uri="*"/>
          </allow-from>
          <grant-to>
            <resource include-subpaths="true" path="/"/>
          </grant-to>
        </policy>
      </cross-domain-access>
    </access-policy>
    
0 голосов
/ 16 августа 2011

Чтобы облегчить такие проблемы тестирования, может быть полезно иметь сервер разработки, на котором установлена ​​Visual Studio, чтобы вы могли выполнять больше отладки на сервере ...

0 голосов
/ 16 августа 2011

Я сталкиваюсь с этим каждый раз, когда развертываюсь.Затем я не забываю перейти к ссылкам на веб-проект с установленным параметром Копировать локальный в значение True для всех сборок System.ServiceModel. *.В некоторых случаях вам также может потребоваться установить для параметра «Локальное копирование» значение «True» в System.ComponentModel.DataAnnotations.

Удачи!

-Michael

0 голосов
/ 16 августа 2011

Проверена ли версия DOT.NET на ядре сервера с версией, использованной для сборки вашего приложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...