TableServiceContext.SaveChanges()失败

时间:2011-09-09 20:12:23

标签: azure azure-table-storage

我正在寻找上述方法失败的原因。

在我的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表存在。存储帐户存在,似乎没问题。

非常感谢!

3 个答案:

答案 0 :(得分:0)

一种可能性是Device类不可序列化。

异常可能由多种原因引起,有关示例,请参阅this博客文章。

答案 1 :(得分:0)

经过大量的跟踪和头部划痕后,事实证明SaveChanges()方法对我的实体对象中的一个属性不满意。内部异常谈到“方法未实现”。已修复,但更精确的异常消息本来不错......

答案 2 :(得分:0)

我是Azure的新手,但我被告知Azure不承认Blob,队列或表名称中的UpperCase ... 也许问题不是对象或方法,而是Tablename,因为它被称为“设备”而不是“设备”...... 但我不确定......希望这会有所帮助。