我正在寻找上述方法失败的原因。
在我的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表。
存储帐户已存在且正常。多谢!
一种可能是Device类不可序列化。
这个异常可能是由几个原因引起的,参见这篇博客文章中的一些例子。
经过大量跟踪和绞尽脑汁之后,发现SaveChanges()方法对我的实体对象中的一个属性不满意。内部异常谈到了"方法未实现"。修复,但更精确的异常消息将是很好的…
我是Azure的新手,但我被告知Azure不承认Blob,队列或表名称中的大写字母…也许问题不在于对象或方法,而在于tableame,因为它被称为"Devices"而不是"Devices"……但是我不确定……