我是服务器的POSTing数据,成功地执行了BeginGetRequestStream,然后是EndGetRequestStream,将我的POST数据写入填充RequestStream,然后调用BeginGetResponse。
BeginGetResponse成功返回,然后我调用:
Dim response As HttpWebResponse = CType(MyHttpRequest.EndGetResponse(asynchronousResult), HttpWebResponse)这一行抛出了折叠SecurityException错误:
{System.Security.SecurityException -> System.Security.SecurityException:安全错误。
在System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
在System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.b__4(Object sendState)
在System.Net.Browser.AsyncHelper.<>c__DisplayClass2.b__0(Object sendState)
-内部异常堆栈跟踪结束
在System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod,对象状态)
在System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
在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,设置显示为ok:
<!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为什么会抛出这个错误吗?
谢谢
发布于 2011-01-03 16:14:54
这似乎是一个客户端访问策略问题,请检查以下内容:
http://forums.silverlight.net/forums/p/26566/90867.aspx
对我起作用了。
发布于 2010-11-18 14:32:45
今天,我处理了一个非常类似的问题--但是,我没有使用HTTP,而是尝试执行WCF服务调用。
下面是我在代码中的注释--如果不够清楚,请告诉我。
// NB: Cross-domain bug
// If you end up here with a System.Security.SecurityException "Security error."
// Check that you're not trying to cross zones when making a service call
// (eg: Accessing Trigger Driver TimeSource service on http://IASWEB01/ when accessing the site via usertest.local
// or any other URI with dots in it - yes it seems crazy)这似乎是某种安全的“特性”。通过WCF调用,甚至在Silverlight客户端试图从目标主机获取clientaccesspolicy.xml之前,我就得到了这个异常。非常烦人的问题,没有一个真正的解决方案在眼前!
https://stackoverflow.com/questions/4209050
复制相似问题