gpt4 book ai didi

c# - Silverlight Rest 服务,安全异常

转载 作者:可可西里 更新时间:2023-11-01 08:09:56 25 4
gpt4 key购买 nike

我试图让 Silverlight 与快速示例应用程序一起工作,并在另一台计算机上调用休息服务。具有其余服务的服务器有一个 clientaccesspolicy.xml,如下所示:

<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>

并且正在被拾取(至少根据我运行的网络跟踪),并且没有对 crossdomain.xml 的请求。 C# 代码如下所示:

public Page()
{
InitializeComponent();

string restUrl = "http://example.com/rest_service.html?action=test_result";

WebClient testService = new WebClient();
testService.DownloadStringCompleted += new DownloadStringCompletedEventHandler(testService_DownloadStringCompleted);
testService.DownloadStringAsync(new Uri(restUrl, UriKind.Absolute));

}

void testService_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
LoadTreeViewWithData(e.Result);
}
}

但是,我总是收到以下安全错误:

{System.Security.SecurityException ---> System.Security.SecurityException: Security error.   at System.Net.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)   at System.Net.BrowserHttpWebRequest.c__DisplayClass5.b__4(Object sendState)   at System.Net.AsyncHelper.c__DisplayClass2.b__0(Object sendState)   --- End of inner exception stack trace ---   at System.Net.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)   at System.Net.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)   at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)   at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)}

我做错了什么?为什么安全错误没有告诉我一些更有用的信息?

最佳答案

如果您还没有这样做,我会首先尝试将 restUrl 更改为更简单的内容,例如同一台服务器上的静态 HTML 页面(或者如果需要在您自己的服务器上),只是为了验证您的主要代码是否正常工作。

假设安全异常特定于该 REST URL(或站点),您可以查看 URL Access Restrictions in Silverlight 2文章。除了更广为人知的跨域规则之外,还有一些涉及文件类型和“Internet 区域”的非显而易见的安全规则。

我支持关于 Silverlight 中的许多异常消息不是很有帮助的提示。上面引用的 MSDN 文章包含一个有趣的注释:

When users get an error that results from one of these access policies being violated, the error may not indicate the exact cause.

关于c# - Silverlight Rest 服务,安全异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/254899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com