public void CloudFileDirectoryDeleteIfExistsAPM() { CloudFileShare share = GetRandomShareReference(); share.Create(); try { using (AutoResetEvent waitHandle = new AutoResetEvent(false)) { CloudFileDirectory directory = share.GetRootDirectoryReference().GetDirectoryReference("directory1"); IAsyncResult result = directory.BeginDeleteIfExists( ar => waitHandle.Set(), null); waitHandle.WaitOne(); Assert.IsFalse(directory.EndDeleteIfExists(result)); result = directory.BeginCreate( ar => waitHandle.Set(), null); waitHandle.WaitOne(); directory.EndCreate(result); result = directory.BeginDeleteIfExists( ar => waitHandle.Set(), null); waitHandle.WaitOne(); Assert.IsTrue(directory.EndDeleteIfExists(result)); result = directory.BeginDeleteIfExists( ar => waitHandle.Set(), null); waitHandle.WaitOne(); Assert.IsFalse(directory.EndDeleteIfExists(result)); } } finally { share.Delete(); } }