2016-03-24 16 views
0

我遇到了一個真正令人困惑的情況,我希望能得到一些幫助。此代碼:在Azure Table存儲分區鍵中使用冒號會產生奇怪的結果

TableOperation retrieveOperation = TableOperation.Retrieve<T>(partitionKey, rowKey); 
TableResult result = await table.ExecuteAsync(retrieveOperation); 
T obj = result.Result as T; 

問題是與分區鍵,這是在表格上「發表:UID」,例如:Post:f45ff69958e14342970a6ea88e7a009f插入和檢索數據是好的,但是讓我瘋狂的是,當我在檢索到對象之後檢查對象時,PartitionKey的「Post:」部分已從對象數據中剝離。創建對象中的分區鍵只是f45ff69958e14342970a6ea88e7a009f。這意味着如果我對該對象進行了更改並嘗試執行一個操作,它將會在冒號後面創建一條新記錄。我不能爲了我的生活理解這會如何發生。

我曾嘗試谷歌非法字符在分區鍵,但無法找到任何關於冒號是非法字符,所以很抱歉,如果這是一個常見問題。

任何幫助,將不勝感激。

+0

也許你應該只編碼PartitionKey? PartitionKey和RowKey的確有一些非法字符,但我還沒有聽說過之前冒號列表。對不起,我不能更有幫助。 –

回答

0

冒號不是分區鍵的非法字符。有關受限字符的更多信息,請參見this頁面上的「在字段中禁用的字符」部分。

基於上面的代碼片段,我創建了一個生成相同長度和相同「Post:」前綴的GUID的循環,但沒有重現該問題。如果問題仍然存在,請發佈重現問題所需的整段代碼。

相關問題