BeginGetResponse成功返回,然后我调用:
Dim response As HttpWebResponse = CType(MyHttpRequest.EndGetResponse(asynchronousResult),HttpWebResponse)
此行抛出以下SecurityException错误:
{System.Security.SecurityException —> System.Security.SecurityException: Security error.
at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.b__4(Object sendState)
at System.Net.Browser.AsyncHelper.<>c__DisplayClass2.b__0(Object sendState)— End of inner exception stack trace —
at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod,Object state)
at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at EtsyV2NetSL.WebQuery.POST_ResponseCallback(IAsyncResult asynchronousResult)}
所以我的第一个想法是我被服务器用clientaccesspolicy.xml或crossdomain.xml阻止.我已经解雇了Fiddler并看到了以下内容:
GET http://openapi.etsy.com/clientaccesspolicy.xml > 596 (text/xml) GET http://openapi.etsy.com/crossdomain.xml > 200 OK (application/xml)
所以我检查了他们的crossdomain.xml,设置显示正常:
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*"/> </cross-domain-policy>
我试图解决这个问题已经走到了尽头.我在VS的开发机器上运行测试应用程序.
有没有人有任何想法为什么Silverlight会抛出这个错误?
谢谢
解决方法
http://forums.silverlight.net/forums/p/26566/90867.aspx
它对我有用.