РЕДАКТИРОВАТЬ: Переключился на Silverlight 4, и это меня немного дальше.
У меня есть xml, в котором хранятся высокие оценки в библиотеке sharepoint. Сайт sharepoint - https, и я могу нажать «копировать ярлык» xml, и он появляется в браузере, поэтому я знаю, что могу добраться до него.
Я пытаюсь использовать этот XML-файл с помощью веб-клиента в Silverlight следующим образом.
Uri url = new Uri("https://server/HighScores.xml", UriKind.Absolute);
WebRequest.RegisterPrefix("https://",System.Net.Browser.WebRequestCreator.ClientHttp);
var client = new WebClient();
client.Credentials = new NetworkCredential("username", "password", "domain");
client.UseDefaultCredentials = false;
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(url);
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
string xmlData = e.Result;
HtmlPage.Window.Alert(xmlData);
}
}
С этим кодом всплывает моя игра silverlight, но сразу появляется окно входа с учетными данными Windows. Когда я ввожу здесь мои правильные учетные данные, как я сделал в коде, я получаю ошибку followig.
e.Error {System.Security.SecurityException ---> System.Security.SecurityException: ошибка безопасности.
в System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse (IAsyncResult asyncResult)
в System.Net.Browser.ClientHttpWebRequest. <> c_ DisplayClass5.b _4 (объект sendState)
в System.Net.Browser.AsyncHelper. <> c_ DisplayClass2.b _0 (объект sendState)
--- Конец внутренней трассировки стека исключений ---
в System.Net.Browser.AsyncHelper.BeginOnUI (SendOrPostCallback beginMethod, состояние объекта)
в System.Net.Browser.ClientHttpWebRequest.EndGetResponse (IAsyncResult asyncResult)
в System.Net.WebClient.GetWebResponse (запрос WebRequest, результат IAsyncResult)
в System.Net.WebClient.DownloadBitsResponseCallback (результат IAsyncResult)} System.Exception {System.Security.SecurityException}
Любая помощь?