我正在编写一个 Silverlight 应用程序,它需要通过 GET/POST 请求与服务器交互。我的代码如下所示:
Uri serviceUri = new Uri(my_URI);
WebClient client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(OnRequestComplete);
client.OpenReadAsync(serviceUri);
但是,当调用回调函数时,我得到了 System.Security.SecurityException。我在这里从有类似错误的人那里阅读了多个问题,但是他们的所有问题似乎都源于调试时的跨域问题。当我运行我的代码时,它http://localhost:...
作为域运行,所以这不应该是我不认为的问题。如果这有帮助,这是完整的错误:
{System.Security.SecurityException: Security error.
at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState)
at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState)}
谢谢你的帮助。这是一个非常令人沮丧的问题。
更新:
我搞砸了很多,最终让一切正常工作。虽然不是 100% 做了什么...我最终将 clientaccesspolicy.xml 和 crossdomain.xml 文件复制/粘贴到任何可以想象的地方,创建了一个新的 Silverlight 项目并复制了那里的所有内容,以及其他一些东西。如果其他人遇到这个问题,这就是我必须给出的建议:/