Piszę dane do serwera i pomyślnie wykonuję BeginGetRequestStream, następnie EndGetRequestStream, zapisz moje dane POST, aby wypełnić RequestStream, i wywołaj BeginGetResponse.Silverlight SecurityException
BeginGetResponse powodzeniem wraca i wtedy zadzwonić:
Dim response As HttpWebResponse = CType(MyHttpRequest.EndGetResponse(asynchronousResult), HttpWebResponse)
Linia ta rzuca błąd 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)}
Więc moją pierwszą myślą było to, że był blokowany przez serwer z ich clientaccesspolicy .xml lub crossdomain.xml. Mam rozgrzana Skrzypek i zobaczył, co następuje:
GET http://openapi.etsy.com/clientaccesspolicy.xml > 596 (text/xml)
GET http://openapi.etsy.com/crossdomain.xml > 200 OK (application/xml)
Więc sprawdziłem ich crossdomain.xml i ustawienia pojawiają się 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>
Mam trafienie w ślepy zaułek, próbując rozwiązać ten problem problem. Używam aplikacji testowej na moim komputerze od VS.
Czy ktoś ma jakieś pomysły, dlaczego Silverlight będzie rzucić ten błąd?
Dzięki
Tak, "" - instrukcja w pliku clientaccesspolicy.xml naprawiła problem w moim przypadku. Dzięki za pomoc! –