Windows phone 7 在windows phone上通过odata添加实体时不支持异常
我正在WindowsPhone7应用程序中使用odata客户端生成器(datasvcuti.exe)。检索实体和集合与更新现有实体一样好。但是当我尝试添加一个新实体时,会得到一个NotSupportedException。这是我的密码Windows phone 7 在windows phone上通过odata添加实体时不支持异常,windows-phone-7,odata,Windows Phone 7,Odata,我正在WindowsPhone7应用程序中使用odata客户端生成器(datasvcuti.exe)。检索实体和集合与更新现有实体一样好。但是当我尝试添加一个新实体时,会得到一个NotSupportedException。这是我的密码 private void Button_Click(object sender, RoutedEventArgs e) { Drinks d =new Drink(); d.BarCode = "1234567890";
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,我就会得到
不支持例外
编辑:我使用了fiddler,发现我实际上从服务中得到了一个不同的异常。调试器中未显示该异常数据。一旦我纠正了实际的异常,插入工作正常。我认为您已经打开了第一次机会异常,这导致客户端库抛出的内部异常作为异常出现。尝试关闭VS中“Exceptions”(例外)菜单中的First Chance Exception(首次机会例外)并运行应用程序。正如您在编辑中提到的,NotSupportedException(不支持例外)是一种误导。我认为,在调试手机应用程序时,即使已清除设置以在未处理的CLR异常上中断,您也会遇到NotSupportedException 如果继续(F5),您将遇到实际的DataServiceRequestException异常。如果没有足够的信息进行调试,您可以按照本文中的步骤在异常中获取更详细的信息:
昨天我遇到了同样的问题,在遵循博客中的步骤之后,我成功地调试了这个问题 嗨,Kenstone,在调试器中,它显示的是代码中最后一个执行的导致引发异常的语句?它发生在showsaveress(“Drink Logged!”,context.EndSaveChanges(result));啊,是的,我在找你提到的EndSaveChanges。如果我用find的话我会找到它的。