Silverlight, EF, коллекция членов типа EntityCollection - не уверен, как пройти через WCF - PullRequest
0 голосов
/ 13 декабря 2011

Я получаю ошибку безопасности:

Внутреннее исключение: {System.Security.SecurityException ---> System.Security.SecurityException: ошибка безопасности.

UPDATE Моя проблема в том, что тип Категории (который передается через WCF) находится внутри коллекции Products. Категории и остальные типы моделей генерируются кодом с Entity Framework. Элемент Products в категориях имеет тип EntityCollection.

Коллекция товаров в классе Категории: (сгенерированный код)

    [XmlIgnoreAttribute()]
    [SoapIgnoreAttribute()]
    [DataMemberAttribute()]
    [EdmRelationshipNavigationPropertyAttribute("inventory_db_bigModel", "Products_fk", "Products")]
    public EntityCollection<Products> Products

Вопрос в том, как объявить коллекцию Products в клиенте ServiceReference? Я попытался с ObservableCollection и Generic List, но это дает мне ту же ошибку безопасности. Клиентский код ServiceReference является сгенерированным кодом, и я не уверен, каково решение, чтобы мне не приходилось редактировать его каждый раз, когда он восстанавливается.

1 Ответ

0 голосов
/ 13 декабря 2011

Вы установили clientaccesspolicy.xml и / или crossdomain.xml в службе WCF?

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

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

Чтобы разрешить соединение, которое вам необходимонастройте файл clientaccesspolicy.xml или crossdomain.xml в корне службы, которую вы хотите использовать.

MSDN содержит дополнительную информацию.

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