2011-08-02 4 views
0

クラウドにデプロイされたwcfデータサービスを使用するSilverlightアプリケーションを作成しています。 WCFデータサービスはブラウザ上で完璧に動作しますが、データサービスクエリとして使用してコントロールを作成し、loadasyncメソッドを使用すると、以下のエラーが発生します。wcfデータサービスへのアクセス時のSilverlightセキュリティ例外

私はclientaccesspolicy.xmlとcrossdomain.xmlを含んでおり、アクセス可能であり、すべてのドメインに対してオープンです。

私はfiddlerを使用しましたが、clientaccesspolicy.xmlファイルを取得しようとしても、その前にエラーが表示されません。

少なくとも、何が間違っているかを知る方法はありますか?

e.Error {System.InvalidOperationException:この要求の処理中にエラーが発生しました。 ---> System.Security.SecurityException ---> System.Security.SecurityException:セキュリティエラーです。 System.Net.Browser.ClientHttpWebRequestでSystem.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(たIAsyncResult asyncResult) で。 <> C_ DisplayClass5.b _4(sendStateオブジェクト)System.Net.Browser.AsyncHelperで 。 System.Netで<> C_ DisplayClass4.b _1(sendStateオブジェクト) ---内部例外スタックトレースの終わり--- System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod、オブジェクトの状態)で 。 System.Data.Services.Client.QueryResult.AsyncEndGetResponse(たIAsyncResult asyncResult) ---内部の終了時System.Data.Services.Http.ClientHttpWebRequest.EndGetResponse(たIAsyncResult asyncResult) でBrowser.ClientHttpWebRequest.EndGetResponse(たIAsyncResult asyncResult) 例外スタックトレース--- System.Data.Services.Client.BaseAsyncResult.EndExecute [T](オブジェクトソース、Stringメソッド、IAsyncResult asyncResult)の System.Data.Services.Client.QueryResult.EndExecuteの [TElemen (Object source、DataServiceContext context、IAsyncResult asyncResult) at System.Data.Services.Client.DataServiceQuery 1.EndExecute(IAsyncResult asyncResult) at System.Data.Services.Client.DataServiceCollection 1. <(オブジェクトソース、IAsyncResult asyncResult) > System.Data.Services.Client.DataServiceCollection 1.<>c__DisplayClass2.<LoadAsync>b__1(IAsyncResult asyncResult) at System.Data.Services.Client.DataServiceCollectionでSystem.Data.Services.Client.DataServiceCollection 1.<>c__DisplayClassd.<>c__DisplayClassf.<BeginLoadAsyncOperation>b__b()} [System.InvalidOperationException]: {System.InvalidOperationException: An error occurred while processing this request. ---> System.Security.SecurityException ---> System.Security.SecurityException: Security error. at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState) at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__1(Object sendState) --- End of inner exception stack trace --- at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state) at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at System.Data.Services.Http.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at System.Data.Services.Client.QueryResult.AsyncEndGetResponse(IAsyncResult asyncResult) --- End of inner exception stack trace --- at System.Data.Services.Client.BaseAsyncResult.EndExecute[T](Object source, String method, IAsyncResult asyncResult) at System.Data.Services.Client.QueryResult.EndExecute[TElement](Object source, IAsyncResult asyncResult) at System.Data.Services.Client.DataServiceRequest.EndExecute[TElement](Object source, DataServiceContext context, IAsyncResult asyncResult) at System.Data.Services.Client.DataServiceQuery 1.EndExecute(たIAsyncResult asyncResult)でC_ DisplayClass2.b _1(たIAsyncResult asyncResult) > C_ DisplayClassd 。 > c _DisplayClassf.b_ b()} データ:{System.Collections.ListDictionaryInternal} InnerException:{System.Security.SecurityException ---> System.Security.SecurityException:セキュリティエラーです。 System.Net.Browser.ClientHttpWebRequestでSystem.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(たIAsyncResult asyncResult) で。 <> c _DisplayClass5.b_ 4(Object sendState) at System.Net.Browser.AsyncHelper。 <> C _DisplayClass4.b_ 1(sendStateオブジェクト) ---内部例外スタックトレースの終わり--- System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod、オブジェクトの状態)で System.Netで。 (System.Web.UIElementから継承されます。AsyncEndGetResponse(IAsyncResult asyncResult)} メッセージ: "この要求の処理中にエラーが発生しました。" "System.Data.Services.Client.BaseAsyncResult.EndExecute [T](オブジェクトソース、Stringメソッド、IAsyncResult asyncResult)\ System \ Data.Services.Client.QueryResult.EndExecuteでのStackTrace:" System.Data.Services.Client.BaseAsyncResult.EndExecute [TElement](Object System.Data.Services.Client.DataServiceQueryで、オブジェクトソース、DataServiceContextコンテキスト、IAsyncResult asyncResult)\ r \ n 1.EndExecute(IAsyncResult asyncResult)\r\n at System.Data.Services.Client.DataServiceCollection 。<> C _DisplayClass2.b_ 1(たIAsyncResult asyncResult)\ R \ N System.Data.Services.Client.DataServiceCollection`1た。<> C _DisplayClassd。<> C_ DisplayClassf.b _b()」

答えて

0

私は同じ問題があった。私clientaccesspolicyがロードされてしまったし、それが正常に動作し、ブラウザのキャッシュをクリアした後に

<?xml version="1.0" encoding="utf-8"?> 
<access-policy> 
    <cross-domain-access> 
    <policy> 
     <allow-from http-request-headers="*"> 
     <domain uri="*"/> 
     </allow-from> 
     <grant-to> 
     <resource path="/" include-subpaths="true"/> 
     </grant-to> 
    </policy> 
    </cross-domain-access> 
</access-policy> 

:私は私にclientaccesspolicy.xmlを変えました。 役に立ったと思っています。

+0

私はフィドラーで私のブラウザキャッシュをクリアしたことを忘れていました。 IEでクリアしても問題は解決しませんでした。 – Alex

関連する問題