2013-08-16 2 views
0

Я новичок в Silverlight и особенно в ограничениях доступа к URL в Silverlight 5. Я пытаюсь использовать следующий код, чтобы попасть в любой домен, который, по-видимому, я не могу из-за отсутствия crossdomain.xml и clientaccesspolicy.xml на этих сайтах.Silverlight перекрестные вызовы домена

HtmlWeb.LoadAsync("http://www.otherwebsite.com", OnCallback); 

if (htmlDocumentLoadCompleted.Error != null) 
{ 
    var htmlDocument = htmlDocumentLoadCompleted.Document; 
    if (htmlDocument !=null) 
    { 
    MessageBox.Show("Passed!"); 
    } 
} 

Таким образом, у меня есть неприятные ошибки:

{System.Security.SecurityException ---> System.Security.SecurityException: Security error. 
    at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) 

Я попробовал несколько вариантов, и из браузера с и без Повышенного Trust. Итак, мой вопрос, возможно ли вообще заставить его работать в браузере или из него?

ответ

1

Служба должна делиться междоменной политикой. Например, amazon crossdomain. Это единственный возможный способ использования сервиса.

UPD: От MSDN:

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

Таким образом, я думаю, вы должны дать заявку elevated trust и запустить его (приложение) вне браузера или в браузере (если только под правами администратора).

также: URL Access Restrictions

+0

На самом деле, я не имел в виду конкретно к службе, но, к обычной веб-страницы. Кажется, что добавление управления веб-браузером каким-то образом решает эту проблему, конечно, с накладными расходами. – Jim

+0

@Jim: см. Обновление. –

+0

После вашего предложения я попробовал еще раз, но безуспешно. Я запускаю приложение под повышенным доверием в браузере, и я получаю вышеуказанную ошибку. Кроме того, когда я запускаю его из браузера с повышенным доверием, я получаю htmlDocument == null. – Jim

Смежные вопросы