Asp.net mvc 4 无法保存到Azure表
当我尝试将实体保存到azure表时,会出现Asp.net mvc 4 无法保存到Azure表,asp.net-mvc-4,azure-table-storage,Asp.net Mvc 4,Azure Table Storage,当我尝试将实体保存到azure表时,会出现DataServiceRequestException异常。它发生在这一行\u myContext.SaveChangesWithRetries()我试着用谷歌搜索,看看问题出在哪里。但是找不到任何答案 有人知道问题出在哪里吗 存储创建者 public CloudTableClient GetMusicClient() { //retrieve connection string from settings CloudStorag
DataServiceRequestException
异常。它发生在这一行\u myContext.SaveChangesWithRetries()代码>我试着用谷歌搜索,看看问题出在哪里。但是找不到任何答案
有人知道问题出在哪里吗
存储创建者
public CloudTableClient GetMusicClient() {
//retrieve connection string from settings
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString"));
//create table client
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
//create table if doesn't exist
string tableName = "music";
tableClient.CreateTableIfNotExist(tableName);
return tableClient;
}
WebAPI
public Music PostMusic(string genre, string artist, string random)
{
CloudTableClient _myTableClient = _myTableRepo.GetMusicClient();
TableServiceContext _myContext = _myTableClient.GetDataServiceContext();
Music music = new Music(genre, artist);
music.Score = "10";
music.Year = "2012";
music.Random = random;
try
{
_myContext.AddObject(random, music);
_myContext.SaveChangesWithRetries();
}
catch (StorageClientException e)
{ }
catch (DataServiceRequestException e)
{
System.Diagnostics.Debug.WriteLine(e.StackTrace);
}
return music;
}
stacktrace
An error occurred while processing this request.
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.get_Result()
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.ExecuteAndWait()
at MyWebAPI.Controllers.ValuesController.PostMusic(String genre, String artist, String random) in C:\MyWebAPI\MyWebAPI\Controllers\ValuesController.cs:line 61
Music.cs
public class Music : TableServiceEntity
{
public Music(string genre, string artist)
{
this.PartitionKey = genre;
this.RowKey = artist;
}
public Music() {}
public string Score { get; set; }
public string Year { get; set; }
public string Random { get; set; }
}
哦,看起来你的第一个AddObject参数是错误的?它应该是“music”,表的名称,但是如果参数名称可信,那么看起来您传递的是一个随机字符串。哦,看起来AddObject的第一个参数是错误的?它应该是“music”,即表的名称,但如果参数名称可信,则看起来像是传入了一个随机字符串。能否共享音乐代码?有分区键和行键吗?其他字段是什么?一般来说,使用Fiddler调试这样的东西会有所帮助。您可能会得到关于确切错误的更好信息。@smarx是的,我有分区键和行键。我现在在我的问题中添加了音乐的代码。什么是Fiddler,它包含在VS2010中吗?这里是Fiddler:你能分享音乐的代码吗?有分区键和行键吗?其他字段是什么?一般来说,使用Fiddler调试这样的东西会有所帮助。您可能会得到关于确切错误的更好信息。@smarx是的,我有分区键和行键。我现在在我的问题中添加了音乐的代码。什么是Fiddler,它包含在VS2010中吗?这里是Fiddler: