NotSupportedException при добавлении сущности с помощью оддаты на Windows Phone - PullRequest
0 голосов
/ 23 января 2011

Я использую генератор клиента odata (DataSvcUtil.exe) в приложении Windows Phone 7.Извлечение сущностей и коллекций в порядке, как и обновление существующей сущности.Но когда я пытаюсь добавить новую сущность, я получаю NotSupportedException .Вот мой код.

private void Button_Click(object sender, RoutedEventArgs e)
    {
        Drinks d =new Drink();
        d.BarCode = "1234567890";
        d.Description = "Test Drink";
        d.Quantity = -1;
        context.AddToDrinks(d);
        context.BeginSaveChanges(SaveChangesOptions.Batch, OnChangesSaved, context);       
    }

 private void OnChangesSaved(IAsyncResult result)
    {
        Dispatcher.BeginInvoke(() =>
        {
            try
            {
                var something = result.AsyncState;

                context = result.AsyncState as DrinkTrackerModelContainer;

                // Complete the save changes operation and display the response.

                ShowSaveResponse("Drink Logged!", context.EndSaveChanges(result));
            }
            catch (DataServiceRequestException ex)
            {
                ShowSaveResponse("Error Logging Drink", ex.Response);

            }
            catch (InvalidOperationException ex)
            {
                ShowSaveResponse(ex.Message, null);

            }

        }
        );
    }

Как только вызывается EndSaveChanges, я получаю исключение

NotSupportedException.

РЕДАКТИРОВАТЬ: Я использовал Fiddler и увиделчто я фактически получал другое исключение из сервиса.Данные об исключении не отображались в отладчике.Как только я исправил фактическое исключение, вставка работала нормально.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012

Как вы упомянули в своем редактировании, NotSupportedException была красной сельдью.Я думаю, что при отладке телефонного приложения вы получите исключение NotSupportedException, даже если вы очистили параметр, чтобы нарушить необработанные исключения CLR.

Если вы продолжите (F5), вы столкнетесь с действительным исключением DataServiceRequestException.Если у него недостаточно информации для его отладки, вы можете выполнить действия, описанные в этом посте, чтобы получить более подробную информацию об исключении: http://blogs.msdn.com/b/phaniraj/archive/2008/06/18/debugging-ado-net-data-services.aspx

Я столкнулся с той же проблемой вчера, и после выполненияШаги в блоге, я смог успешно отладить проблему.

0 голосов
/ 15 февраля 2011


Я думаю, что у вас включены исключения первого шанса, которые вызывают появление внутреннего исключения, которое выдается клиентской библиотекой, как исключение.Попробуйте отключить исключения первого шанса в меню «Исключения» в VS и запустить приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...