私はC#で単純なAzure Webappを開発しました。 Azureストレージアカウントのテーブルを使用して、ウェブサイトのいくつかの種類のレコードを保存します。Azureストレージアカウントが書き込み時にHTTP 400エラーを投げる
実際の接続文字列を使用して、読み取りと書き込みの両方の操作で自分のコンピュータで正常に動作します。私は "Azure Storage Explorer"でレコードを見つけることができます。
しかし、私はアプリを展開した後。クラウド版では、表を書き込もうとするとHTTP 400のエラーが発生します。しかし、読み取り操作はまだ正常に動作します。 (ローカルバージョンは、常にOKです。)
問題は奇妙です。それで私を助けてください。
ありがとうございました。
== UPDATE ==
&クエリコードを保存し、このようなものです。
public class CodeSnippet: TableEntity
{
public string Title { get; set; }
public string Author { get; set; }
public string FileType { get; set; }
public string Code { get; set; }
public Guid Save()
{
var guid = Guid.NewGuid();
var datetime = DateTimeOffset.UtcNow;
this.RowKey = guid.ToString();
this.PartitionKey = datetime.ToString();
var json = JsonConvert.SerializeObject(this);
var client = AzureStorage.DefaultClient.Instance.GetTableClient();
var table = client.GetTableReference("privateshare");
var insertOp = TableOperation.Insert(this);
table.Execute(insertOp);
return guid;
}
public static CodeSnippet Query(Guid? guid)
{
if (guid == null)
{
return null;
}
var client = AzureStorage.DefaultClient.Instance.GetTableClient();
var table = client.GetTableReference("privateshare");
var query = new TableQuery<CodeSnippet>()
.Where(TableQuery.GenerateFilterCondition(
"RowKey", QueryComparisons.Equal, guid.ToString()))
.Take(1);
var res = table.ExecuteQuery(query);
return res?.First();
}
}
エラーは、通常、書き込みしようとしているデータに何か問題があることを意味します。あなたのアプリがクラウドにデプロイされているときに書き込もうとしているデータを共有できますか?また、コードを共有することもできれば便利です。 –