CloudQueue.BeginCreateIfNotExist Method

Storage Client Library NET API

[This topic is part of the Microsoft Azure Storage Client Library 1.7, which has been deprecated. See Storage Client Library for the latest version.]

Begins an asynchronous operation to create the queue if it does not exist.

Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)

Usage

Visual Basic
Dim instance As CloudQueue
Dim callback As AsyncCallback
Dim state As Object
Dim returnValue As IAsyncResult

returnValue = instance.BeginCreateIfNotExist(callback, state)

Syntax

Visual Basic
Public Function BeginCreateIfNotExist ( _
	callback As AsyncCallback, _
	state As Object _
) As IAsyncResult
C#
public IAsyncResult BeginCreateIfNotExist (
	AsyncCallback callback,
	Object state
)
C++
public:
IAsyncResult^ BeginCreateIfNotExist (
	AsyncCallback^ callback, 
	Object^ state
)
J#
JScript

Parameters

callback

Type: System.AsyncCallback

The callback delegate that will receive notification when the asynchronous operation completes.

state

Type: System.Object

A user-defined object that will be passed to the callback delegate.

Return Value

Type: System.IAsyncResult

An IAsyncResult that references the asynchronous operation.

Example

The following code example illustrates using state when calling BeginCreateIfNotExist.

C# Copy Code
using System;
using System.Diagnostics;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.StorageClient;

namespace QueueAsyncExample
{
  public class QueueAsyncStateExample
  {
    public CloudQueue queueObject;
    public object customStateInformation;

    // Constructor for the example state class
    public QueueAsyncStateExample( CloudQueue queue, object yourAdditionalStateObject )
    {
      this.queueObject = queue;
      this.customStateInformation = yourAdditionalStateObject;
    }

    // Static call that starts creating a queue if it does not already exist
    // (the 'queue' parameter is a CloudQueue reference obtained from CloudQueueClient)
    static void CreateQueueIfNotExistAsync( CloudQueue queue, object stateObject )
    {
      queue.BeginCreateIfNotExist( QueueCreateIfNotExistCallback,
                                   new QueueAsyncStateExample( queue, stateObject ) );
    }

    // The callback method that is called once the create-if-not-exist operation is complete
    static void QueueCreateIfNotExistCallback( IAsyncResult opResult )
    {
      QueueAsyncStateExample state = (QueueAsyncStateExample) opResult.AsyncState;
      CloudQueue queue = state.queueObject;
      // End the BeginCreateIfNotExist operation
      string yesNo = ( queue.EndCreateIfNotExist( opResult ) ) ? "actually" : "not";
      Trace.WriteLine( string.Format( "The '{0}' queue was {1} created...", 
                                       queue.Name, yesNo ) );
      // ...other asynchronous operations could be started here if appropriate
    }
  }
}

Remarks

You can specify user-defined metadata on the queue at the time that it is created. To specify metadata for the queue, add name-value pairs to the queue's Metadata.

For guidance about valid names for queues and metadata, see Naming Queues and Metadata.


Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows Vista, Windows 7, Windows Server 2008, Windows 8.1, Windows Server 2012 R2, Windows 8 and Windows Server 2012

Change History

See Also