Для этого раздела кода:
if (e.Error != null)
{
DisplayStories(e.Result);
}
Вы хотите отобразить истории, если ошибка e.Error равна , а не null. Я думаю, что вы хотите изменить условие на e.Error == null
, так как это означало бы, что ошибки не было, и результат можно безопасно использовать. Возможно, вы захотите поставить точку останова в условии, чтобы проверить значение e.Error
, чтобы увидеть, есть ли у вас исключение.
Edit:
Когда вы изменили условие на e.Error == null
и ничего не произошло, это потому, что ошибка была ненулевой, поэтому ваш оператор DisplayStories(e.Result)
никогда не выполнялся.
Данное исключение, SecurityException
, происходит из-за того, что браузерные приложения Silverlight не позволяют совершать звонки на внешние веб-сайты, если на этом веб-сайте отсутствует файл междоменной политики Silverlight. К сожалению, файл политики Digg больше не разрешает междоменный доступ, что означает, что вы не сможете сделать этот вызов, если не запустите свое приложение с полным доверием вне браузера. Подробнее см. Ограничение доступа к сетевой безопасности в Silverlight .
Чтобы запустить приложение как приложение вне браузера с полным доверием, в Visual Studio щелкните правой кнопкой мыши свой проект и выберите свойства. На вкладке «Silverlight» установите флажок «разрешить запуск браузера». Затем нажмите кнопку «Нет в настройках браузера». В диалоговом окне установите флажок «требуется повышенное доверие при работе вне браузера». На вкладке «Отладка» для «Начать действие» выберите «Вне браузера» и выберите свой проект из выпадающего списка.
Когда вы запускаете этот путь, вы больше не должны получать SecurityException.