Exportar (0) Imprimir
Expandir todo

Cadenas de conexión de configuración

Actualizado: noviembre de 2014

Microsoft Azure admite un conjunto de API administradas que proporcionan una forma coherente de crear nuevas instancias de clientes de servicios de Azure (como CmdLets) en servicios en la nube de Microsoft. Las API le permiten crear instancias de estos clientes (por ejemplo, CloudBlobClient, SubscriptionClient, TopicClient), independientemente de dónde se implemente la aplicación (de forma local, en un servicio en la nube de Microsoft, en sitios web o en un rol de VM persistente). También puede usar estas API para recuperar la información de la configuración necesaria para crear instancias de estos clientes y cambiar la configuración sin que sea necesario volver a implementar la aplicación que llama. Las API se encuentran en la clase CloudConfigurationManager.

Para crear una instancia de un cliente (por ejemplo, QueueClient), puede representar la información de la configuración como una cadena de conexión. Azure admite una clase CloudConfigurationManager que recupera la cadena de conexión del archivo de configuración. En el lado cliente, por cada tipo de cliente distinto hay un método que crea una instancia de dicho tipo de cliente con la cadena de conexión. Para CmdLets, estos métodos son los siguientes:

Por ejemplo, si se tiene en cuenta la sección de configuración siguiente:

<appSettings>
    <add key="Microsoft.ServiceBus.ConnectionString" 
        value="Endpoint=sb://[namespace].servicebus.windows.net; SharedSecretIssuer=owner;SharedSecretValue=someSecret"/>
</appSettings>

El código siguiente recupera la cadena de conexión, crea una cola e inicializa la conexión a la cola:

QueueClient Client; 

string connectionString = AzureConfigurationManager.AppSettings.GetSetting("Microsoft.ServiceBus.ConnectionString");
var namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString); 

if (!namespaceManager.QueueExists(QueueName))
    {
        namespaceManager.CreateQueue(QueueName);
    }

// Initialize the connection to Service Bus Queue
Client = QueueClient.CreateFromConnectionString(connectionString, QueueName);

Además de usar cadenas de conexión de un archivo de configuración para conectarse a CmdLets, hay situaciones en las que se deben especificar los parámetros de entrada necesarios para conectarse a CmdLets. CmdLets define una clase auxiliar, ServiceBusConnectionStringBuilder, que permite crear cadenas de conexión en el código.

En el código, identifique los parámetros de conexión (ya sea mediante un archivo de configuración o de otra forma). Después, use la clase auxiliar ServiceBusConnectionStringBuilder para conectarse a CmdLets. Por ejemplo, el código siguiente crea una cadena de conexión para usarla con Microsoft Azure Service Bus:

var serviceConnection = new ServiceBusConnectionStringBuilder();
serviceConnection.Endpoints.Add(new Uri("sb://test-namespace.servicebus.windows.net"));
serviceConnection.SharedSecretIssuerName = "owner";
serviceConnection.SharedSecretIssuerSecret = "0dteeO3/apkXXXXXXXXXXXXXXXXXXXXXXXXXXXT2G0=";

La clase auxiliar ServiceBusConnectionStringBuilder permite crear cadenas de conexión para diferentes escenarios. Las secciones siguientes contienen ejemplos.

En el ejemplo siguiente se crea una cadena de conexión del formulario

“Endpoint=sb://fjprod-tat-001-monitor1.servicebus.wa.fj-cloud.net/;StsEndpoint=https://fjprod-tat-001-monitor1-sb.accesscontrol.wa.fj-cloud.net/;SharedSecretIssuer=owner;SharedSecretValue=0dteeO3/apkXXXXXXXXXXXXXXXXXXXXXXXXXXXT2G0=”
var serviceCustomConnection = new ServiceBusConnectionStringBuilder();
serviceCustomConnection.Endpoints.Add(new Uri("sb://fjprod-tat-001-monitor1.servicebus.wa.fj-cloud.net/"));
serviceCustomConnection.StsEndpoints.Add(new Uri("https://fjprod-tat-001-monitor1-sb.accesscontrol.wa.fj-cloud.net/"));
serviceCustomConnection.SharedSecretIssuerName = "owner";
serviceCustomConnection.SharedSecretIssuerSecret = "0dteeO3/apkXXXXXXXXXXXXXXXXXXXXXXXXXXXT2G0=";

En el ejemplo siguiente se crea una cadena de conexión del formulario

"Endpoint=sb://machine1/test-namespace;StsEndpoint=https://machine1:9355/test-namespace;RuntimePort=9354;ManagementPort=9355"
var serverLogonConnection = new ServiceBusConnectionStringBuilder();
serverLogonConnection.Endpoints.Add(new Uri("sb://machine1/test-namespace"));
serverLogonConnection.StsEndpoints.Add(new Uri("https://machine1:9355/test-namespace"));
serverLogonConnection.RuntimePort = 9354;
serverLogonConnection.ManagementPort = 9355;

En el ejemplo siguiente se crea una cadena de conexión del formulario

"Endpoint=sb://machine1/test-namespace,sb://machine2/test-namespace;StsEndpoint=https://machine1:9355/test-namespace,https://machine2:9355/test-namespace;RuntimePort=9354;ManagementPort=9355"
var serverMultiEndpointsConnection = new ServiceBusConnectionStringBuilder();
serverMultiEndpointsConnection.Endpoints.Add(new Uri("sb://machine1/test-namespace"));
serverMultiEndpointsConnection.Endpoints.Add(new Uri("sb://machine2/test-namespace"));
serverMultiEndpointsConnection.StsEndpoints.Add(new Uri("https://machine1:9355/test-namespace"));
serverMultiEndpointsConnection.StsEndpoints.Add(new Uri("https://machine2:9355/test-namespace"));
serverMultiEndpointsConnection.RuntimePort = 9354;
serverMultiEndpointsConnection.ManagementPort = 9355;

En el ejemplo siguiente se crea una cadena de conexión del formulario

"Endpoint=sb://machine1/test-namespace;StsEndpoint=https://machine1:9355/test-namespace;RuntimePort=9354;ManagementPort=9355;WindowsUsername=testUser;WindowsDomain=<Your machine name>;WindowsPassword=password"
var serverLocalUserConnection = new ServiceBusConnectionStringBuilder();
serverLocalUserConnection.Endpoints.Add(new Uri("sb://machine1/test-namespace"));
serverLocalUserConnection.StsEndpoints.Add(new Uri("https://machine1:9355/test-namespace"));
serverLocalUserConnection.RuntimePort = 9354;
serverLocalUserConnection.ManagementPort = 9355;
serverLocalUserConnection.WindowsCredentialDomain = Environment.MachineName;
serverLocalUserConnection.WindowsCredentialUsername = "testUser";
serverLocalUserConnection.WindowsCredentialPassword = securePassword;

En el ejemplo siguiente se crea una cadena de conexión del formulario

"Endpoint=sb://machine1/test-namespace;StsEndpoint=https://machine1:9355/test-namespace;RuntimePort=9354;ManagementPort=9355;WindowsUsername=testUser;WindowsDomain=redmond;WindowsPassword=password"
var serverDomainConnection = new ServiceBusConnectionStringBuilder();
serverDomainConnection.Endpoints.Add(new Uri("sb://machine1/test-namespace"));
serverDomainConnection.StsEndpoints.Add(new Uri("https://machine1:9355/test-namespace"));
serverDomainConnection.RuntimePort = 9354;
serverDomainConnection.ManagementPort = 9355;
serverDomainConnection.WindowsCredentialDomain = "redmond";
serverDomainConnection.WindowsCredentialUsername = "testUser";
serverDomainConnection.WindowsCredentialPassword = securePassword;

En el ejemplo siguiente se crea una cadena de conexión del formulario

"Endpoint=sb://machine1/test-namespace;RuntimePort=9354;ManagementPort=9355"
var serverAnonymousConnection = new ServiceBusConnectionStringBuilder();
serverAnonymousConnection.Endpoints.Add(new Uri("sb://machine1/test-namespace"));
serverAnonymousConnection.RuntimePort = 9354;
serverAnonymousConnection.ManagementPort = 9355;

Vea también

Mostrar:
© 2014 Microsoft