我正在寻找上述方法失败的原因。
在我的TableServiceContext子类中,我有:
public void AddDevice(Device d)
{
d.PartitionKey = "A";
d.RowKey = Guid.NewGuid().ToString();
this.AddObject("Devices", d);
this.SaveChanges();
}
对SaveChanges()
的调用失败,并发出非常通用的诊断消息:
An error occurred while processing this request.. Stack: at System.Data.Services.Client.DataServiceContext.SaveResult.HandleBatchResponse()
at System.Data.Services.Client.DataServiceContext.SaveResult.EndRequest()
at System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options)
at WorkerRole1.DeviceServiceContext.AddDevice(Device d) in DeviceServiceContext.cs:line 30
任何想法可能有什么不妥之处? Devices表存在。存储帐户存在,似乎没问题。
非常感谢!
答案 0 :(得分:0)
一种可能性是Device类不可序列化。
异常可能由多种原因引起,有关示例,请参阅this博客文章。
答案 1 :(得分:0)
经过大量的跟踪和头部划痕后,事实证明SaveChanges()方法对我的实体对象中的一个属性不满意。内部异常谈到“方法未实现”。已修复,但更精确的异常消息本来不错......
答案 2 :(得分:0)
我是Azure的新手,但我被告知Azure不承认Blob,队列或表名称中的UpperCase ... 也许问题不是对象或方法,而是Tablename,因为它被称为“设备”而不是“设备”...... 但我不确定......希望这会有所帮助。