我在写一个需要通过GET/POST请求与服务器接口的Silverlight应用程序。我的代码如下所示:有WebClient GET请求的System.Security.SecurityException
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)}
感谢您的任何帮助。这是一个非常令人沮丧的问题。
UPDATE:
我搞砸与它周围的很多,并最终得到了一切工作。不是100%...虽然我最终将clientaccesspolicy.xml和crossdomain.xml文件复制/粘贴到任何可以想象的位置,但创建了一个新的Silverlight项目并复制了所有内容以及其他一些内容。如果有其他人遇到这个问题,那就像我必须给出的建议一样多:/
可能的重复http://stackoverflow.com/questions/766574/using-web-client-in-silverlight – aquaraga 2013-04-24 05:49:49
他从file:// URI运行。就像我上面所说的,我从localhost – Duncan 2013-04-24 05:53:55