サーバーにデータをPOSTしていて、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)atSystem.Net.Browser.BrowserHttpWebRequest
。<>c__DisplayClass5.b__4(Object sendState)
atSystem.Net.Browser.AsyncHelper。<>c__DisplayClass2.b__0(Object sendState)---内部例外スタックトレースの終了---
System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod、Object state)
at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at EtsyV2NetSL.WebQuery.POST_ResponseCallback( IAsyncResult非同期結果)}
そのため、最初に考えたのは、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がこのエラーをスローする理由について誰かが何か考えを持っていますか?
ありがとう