C# Can';t使用silverlight从sharepoint下载xml。
编辑:切换到Silverlight 4,这让我更进一步了 我有一个在sharepoint库中存储高分的xml。sharepoint站点是https,我可以点击xml的“复制快捷方式”,它会出现在浏览器中,这样我就知道我可以访问它 我正试图使用silverlight中的webclient将此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
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服务器上?我在您提供的链接中尝试了这两种技术,我得到了上面详述的相同安全异常。