Silverlight, потребляющий ошибки в канале Одата?

Я просто подключаю приложение Silverlight к нашему провайдеру Одата. У меня уже есть приложение IPad, которое использует провайдера OData, поэтому я знаю, что с провидором проблем нет.

Когда я пытаюсь получить данные из провайдера OData, в моем приложении silverlight происходит много ошибок. Итак, вот мой код:

Dim context As MyEntities

    context = New MyEntities(New Uri("http://localhost:8080/MyOdataProvider/OData.svc"))

    ' Initialize the binding and view source collections.
    trackedOrders = New DataServiceCollection(Of MyUser)()
    ' Define a query that returns orders for a give customer.
    Dim query = From orderByCustomer In context.MyUsers _
                    Select orderByCustomer

    ' Asynchronously load the result of the query.
    trackedOrders.LoadAsync(query)

    ' Define a handler for the LoadCompleted event of the collection.
    AddHandler trackedOrders.LoadCompleted, _
    AddressOf trackedOrders_LoadCompleted

Private Sub trackedOrders_LoadCompleted(ByVal sender As Object, _
                                    ByVal e As LoadCompletedEventArgs)
    If e.Error Is Nothing Then
        ' Load all pages of Orders before binding.
        If trackedOrders.Continuation IsNot Nothing Then
            trackedOrders.LoadNextPartialSetAsync()
        Else

            ' Bind the root StackPanel element to the collection
            ' related object binding paths are defined in the XAML.
            'ordersViewSource.Source = trackedOrders

            ' Re-enable the button since the loading is complete.
            'getCustomerOrders.IsEnabled = True
        End If
    Else
        MessageBox.Show(String.Format("An error has occured: {0}", e.Error.Message))
        '   getCustomerOrders.IsEnabled = True
    End If
End Sub

Каждый раз, когда он попадает в trackedOrders_LoadCompleted e.error, происходит следующее:


{System.InvalidOperationException: при обработке этого запроса произошла ошибка. ---> System.Security.SecurityException: [Arg_SecurityException] Аргументы:
Строки ресурсов отладки недоступны. Часто ключ и аргументы предоставляют достаточную информацию для диагностики проблемы. См. Http://go.microsoft.com/fwlink/?linkid=106663&Version=5.0.60401.00&File=mscorlib.dll&Key=Arg_SecurityException по адресу System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncRatault.Sync..ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) в System.Data.Services.Client.QueryResult.AsyncEndGetResponse(IAsyncResult asyncResult) --- Конец внутренней трассировки стека исключений [Устройства. Класс. ](Источник объекта, метод String, IAsyncResult asyncResult) в System.Data.Services.Client.QueryResult.EndExecute[TElement](Источник объекта, IAsyncResult asyncResult)
в System.Data.Services.Client.DataServiceRequest.EndExecute[TE lement](Источник объекта, контекст DataServiceContext, IAsyncResult asyncResult) в System.Data.Services.Client.DataServiceQuery 1.EndExecute(IAsyncResult asyncResult) at System.Data.Services.Client.DataServiceCollection 1. <> c_ DisplayClass2.b _1 (IAsyncResult asyncResult) в 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: [Arg_SecurityException] Arguments:
Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. See http://go.microsoft.com/fwlink/?linkid=106663&Version=5.0.60401.00&File=mscorlib.dll&Key=Arg_SecurityException 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.C lient.DataServiceRequest.EndExecute[TElement](Object source, DataServiceContext context, IAsyncResult asyncResult) at System.Data.Services.Client.DataServiceQuery
1.EndExecute (IAsyncResult asyncResult) в System.Data.Services.Client.DataServiceCollection 1.<>c__DisplayClass2.<LoadAsync>b__1(IAsyncResult asyncResult) at System.Data.Services.Client.DataServiceCollection 1. <> C_ DisplayClassd. <> C _DisplayClassf.b__b()}


Я скопировал этот код из Microsoft о том, как это сделать, и его ублюдок довольно плохо, потому что я пытался что-то изменить, чтобы увидеть, если это что-то меняет.

У меня также есть настройка clientAccessPolicy.xml в провайдере odata wwwroot, так что я надеюсь, что это не проблема. Это мой файл 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>

Любые идеи о том, чем может быть вызвана ошибка? Я рву свои волосы здесь.

0 ответов

Другие вопросы по тегам