CloudQueue.BeginCreate 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 a queue.

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.BeginCreate(callback, state)

Syntax

Visual Basic
Public Function BeginCreate ( _
	callback As AsyncCallback, _
	state As Object _
) As IAsyncResult
C#
public IAsyncResult BeginCreate (
	AsyncCallback callback,
	Object state
)
C++
public:
IAsyncResult^ BeginCreate (
	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 BeginCreate.

C# Copy Code
using System;
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 (the queue should not already exist)
    //-----------------
    //  IMPORTANT NOTE
    //--------------------------------------------------------------------
    //  The form of a queue name is constrained as follows:
    //  -- It must ONLY contain lowercase letters, numbers, and hyphens.
    //  -- It must be between 3 and 63 characters long.
    //  -- It must begin and end with a lowercase letter or number.
    //  -- It may NOT contain contiguous hyphens ("--").
    //--------------------------------------------------------------------
    static CloudQueue CreateQueueAsync( string queueName, CloudQueueClient queueClient, object stateObject )
    {
      CloudQueue queue = queueClient.GetQueueReference( queueName );
      queue.BeginCreate( QueueCreateCallback,
                        new QueueAsyncStateExample( queue, stateObject ) );
      return ( queue );  // (note that the queue creation is not yet complete!)
    }

    // The callback method that is called once the create operation is complete
    static void QueueCreateCallback( IAsyncResult opResult )
    {
      QueueAsyncStateExample state = (QueueAsyncStateExample) opResult.AsyncState;
      CloudQueue queue = state.queueObject;
      // End the BeginCreate operation
      queue.EndCreate( opResult );
      // ...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