每当我尝试访问Azure移动服务表时,我都会收到以下错误:
"Newtonsoft.Json.JsonSerializationException"类型的异常发生在mscorlib.ni.dll中,但未在用户代码中处理
附加信息:将值"AAAAAAAA B9k="转换为类型时出错"System.Version"。路径"Version",第19行,位置27。
这是发生此错误的行:
await App.MobileService.GetTable<TodoItem>().InsertAsync(todoItem);
实际上,我并不需要表中的版本值。此值由Azure自动生成。是否有强制忽略版本值的方法?
这是TodoItem的定义:
public class TodoItem
{
public string Id { get; set; }
public DateTime createdAt { get; set; }
public DateTime updatedAt { get; set; }
public Version version { get; set; }
public bool deleted { get; set; }
... and so on...
}
您的TodoItem代码错误。应该是这样的:
[Version]
public string Version {get; set;}
此处[Version]引用位于Microsoft.WindowsAzure.MobileServices命名空间中的VersionAttrbute。
我会避免为此目的使用System.Version
。System.Version
用于数字版本值,例如遵循以下模式的软件版本:w.x.y.z
。看起来你收到的字符串不适合这个,我也不希望你这样做。