C# Can';t使用silverlight从sharepoint下载xml。

C# Can';t使用silverlight从sharepoint下载xml。,c#,silverlight,webclient,C#,Silverlight,Webclient,编辑:切换到Silverlight 4,这让我更进一步了 我有一个在sharepoint库中存储高分的xml。sharepoint站点是https,我可以点击xml的“复制快捷方式”,它会出现在浏览器中,这样我就知道我可以访问它 我正试图使用silverlight中的webclient将此xml拉入,如下所示 Uri url = new Uri("https://server/HighScores.xml", UriKind.Absolute); WebRequest.RegisterPref

编辑:切换到Silverlight 4,这让我更进一步了

我有一个在sharepoint库中存储高分的xml。sharepoint站点是https,我可以点击xml的“复制快捷方式”,它会出现在浏览器中,这样我就知道我可以访问它

我正试图使用silverlight中的webclient将此xml拉入,如下所示

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凭据登录立即出现。当我在这里输入正确的crdentials时,正如我在后面的代码中所做的那样,我得到了以下错误

e、 错误{System.Security.SecurityException-->System.Security.SecurityException:安全错误。 在System.Net.Browser.ClientTpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)上 在System.Net.Browser.ClientHttpWebRequest.c_DisplayClass5.b_4(对象发送状态)中 在System.Net.Browser.AsyncHelper.c_DisplayClass2.b_0中(对象发送状态) ---内部异常堆栈跟踪的结束--- 位于System.Net.Browser.AsyncHelper.BeginNoui(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}


有什么帮助吗?

在Silverlight 4之前,没有为WebClient实现凭据。您是否正在使用早期版本

编辑: 由于您现在遇到安全异常,跨域访问策略文件可能存在问题。这里有两个链接,描述Silverlight/WebClient将查找的两种类型的客户端访问策略文件


如果您可以控制客户端访问策略文件,那么在实现客户端访问策略文件时应该不会遇到太多问题。

您使用的是什么版本的Silverlight?现在我使用的是Silverlight 4,我切换了它。正在获取安全异常,而不是以前的异常。嗯,可能就是这样。我看了,我正在用Silverligth 3编译。在我的项目->选项菜单中,我没有四个选项。如果我需要Silverlight 4,它也必须安装在sharepoint服务器上?我在您提供的链接中尝试了这两种技术,我得到了上面详述的相同安全异常。