我將數據發佈到服務器併成功執行BeginGetRequestStream,然後EndGetRequestStream,將我的POST數據寫入填充RequestStream,並調用BeginGetResponse。Silverlight SecurityException
BeginGetResponse成功返回,然後我打電話:
Dim response As HttpWebResponse = CType(MyHttpRequest.EndGetResponse(asynchronousResult), HttpWebResponse)
此行拋出folloing拋出: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。我已經發射了小提琴手,看到以下內容:
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會拋出這個錯誤?
感謝
是的,「」 - 在clientaccesspolicy.xml文件中的語句解決了我的問題。謝謝你的幫助! –
2011-02-01 10:36:44