2014-03-25 3 views
3

모든 azure 테이블을 나열한 다음 각 테이블을 삭제하기 위해 반복합니다. 먼저 모든 클라우드 테이블의 목록을 얻은 다음 모든 클라우드 테이블을 반복하려고합니다. 하지만 그걸 감추는 데는 예외가 있습니다. 루프가 휴식이기에서스토리지 계정의 모든 azure 테이블 나열

CloudStorageAccount account = CloudStorageAccount.Parse(connectionString); 
CloudTableClient tableClient; 
IEnumerable<CloudTable> tables = tableClient.ListTables(); 
foreach (CloudTable table in tables) 
       table.DeleteIfExists(); 

을 다음과 반복 할 수 없기 때문에

코드입니다. 다음은 예외 사항입니다.

Microsoft.WindowsAzure에서 Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync [T] (StorageCommandBase 1 cmd, IRetryPolicy policy, OperationContext operationContext) at Microsoft.WindowsAzure.Storage.Table.TableQuery 1.ExecuteQuerySegmented (TableContinuationToken 토큰 CloudTableClient 클라이언트 문자열 TABLENAME, TableRequestOptions의 requestOptions, OperationContext operationContext) 에서

.StorageTable.TableQuery 1.<>c__DisplayClass7.<Execute>b__6(IContinuationToken continuationToken) at Microsoft.WindowsAzure.Storage.Core.Util.CommonUtility.<LazyEnumerable>d__0 에서 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()에서을 이동합니다 .C : \ Users \ Vargup \ Documents \에있는(CleanStorageAccount.Program.Main (String [] args) Visual Studio 2013 \ Projects \ CleanStorageAccount \ CleanStorageAccount \ Program.cs : System.AppDomain._nExecuteAssembly에서 줄 (런타임 어셈블리 어셈블리, Str 보내고 [] 인수) System.Threading.ThreadHelper.ThreadStart_Context에서 System.AppDomain.ExecuteAssembly (문자열 assemblyFile, 증거 assemblySecurity 문자열 [] 인수) Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()에서 에서 (객체 상태) System.Threading.ExecutionContext.RunInternal에서 (ExecutionContext에 ExecutionContext에, ContextCallback 콜백, 객체 상태 부울 preserveSyncCtx) System.Threading.ExecutionContext.Run에서 (ExecutionContext에 ExecutionContext에, ContextCallback 콜백, 부울 상태를 preserveSyncCtx 개체)로하여 System.Threading . ExecutionContext.Run (ExecutionContext executionContext, ContextCallback 콜백, 개체 상태) at System.Threading.ThreadHelper.ThreadStart()

+0

어디에/어떻게'tableClient'을 정의합니까? – paqogomez

+0

그 중 하나는 완전한 스택 추적처럼 보이지 않습니다. – paqogomez

+0

테이블 클라이언트 선언이 추가되었습니다. 예 stacktrace가 완료되었습니다. 해결책을 알기 위해 Microsoft.WindowsAzure.Storage.dll을 2.1에서 3.1로 업데이트했으며 작동을 시작했습니다. –

답변

2

Microsoft.WindowsAzure.Storage.dll 참조가 2.1에서 3.1 버전으로 업데이트되었으며 동일한 코드가 적용되었습니다.

1

이 잘 작동 :

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
     CloudConfigurationManager.GetSetting("StorageConnectionString")); 
    CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); 

    var table = tableClient.ListTables(); 

    foreach (CloudTable t in table) 
    { 
     insertEntity(t.Name, boxNewPage.Text, '', ''); 
    } 
관련 문제