async Task <AmqpConnection> CreateConnectionAsync(TimeSpan timeout) { var hostName = this.Endpoint.Host; var timeoutHelper = new TimeoutHelper(timeout); var amqpSettings = AmqpConnectionHelper.CreateAmqpSettings( amqpVersion: AmqpVersion, useSslStreamSecurity: true, hasTokenProvider: true, useWebSockets: TransportType == TransportType.AmqpWebSockets); var transportSettings = CreateTransportSettings(); var amqpTransportInitiator = new AmqpTransportInitiator(amqpSettings, transportSettings); var transport = await amqpTransportInitiator.ConnectTaskAsync(timeoutHelper.RemainingTime()).ConfigureAwait(false); var containerId = Guid.NewGuid().ToString(); var amqpConnectionSettings = AmqpConnectionHelper.CreateAmqpConnectionSettings(AmqpConstants.DefaultMaxFrameSize, containerId, hostName); var connection = new AmqpConnection(transport, amqpSettings, amqpConnectionSettings); await connection.OpenAsync(timeoutHelper.RemainingTime()).ConfigureAwait(false); // Always create the CBS Link + Session var cbsLink = new AmqpCbsLink(connection); if (connection.Extensions.Find <AmqpCbsLink>() == null) { connection.Extensions.Add(cbsLink); } MessagingEventSource.Log.AmqpConnectionCreated(hostName, connection); return(connection); }
TransportSettings CreateTransportSettings() { var hostName = this.Endpoint.Host; var networkHost = this.Endpoint.Host; var port = this.Endpoint.Port; if (TransportType == TransportType.AmqpWebSockets) { return(AmqpConnectionHelper.CreateWebSocketTransportSettings( networkHost: networkHost, hostName: hostName, port: port)); } return(AmqpConnectionHelper.CreateTcpTransportSettings( networkHost: networkHost, hostName: hostName, port: port, useSslStreamSecurity: true)); }
async Task <AmqpConnection> CreateConnectionAsync(TimeSpan timeout) { string hostName = this.Endpoint.Host; string networkHost = this.Endpoint.Host; int port = this.Endpoint.Port; TimeoutHelper timeoutHelper = new TimeoutHelper(timeout); AmqpSettings amqpSettings = AmqpConnectionHelper.CreateAmqpSettings( amqpVersion: AmqpVersion, useSslStreamSecurity: true, hasTokenProvider: true); TransportSettings tpSettings = AmqpConnectionHelper.CreateTcpTransportSettings( networkHost: networkHost, hostName: hostName, port: port, useSslStreamSecurity: true); AmqpTransportInitiator initiator = new AmqpTransportInitiator(amqpSettings, tpSettings); TransportBase transport = await initiator.ConnectTaskAsync(timeoutHelper.RemainingTime()).ConfigureAwait(false); string containerId = Guid.NewGuid().ToString(); AmqpConnectionSettings amqpConnectionSettings = AmqpConnectionHelper.CreateAmqpConnectionSettings(AmqpConstants.DefaultMaxFrameSize, containerId, hostName); AmqpConnection connection = new AmqpConnection(transport, amqpSettings, amqpConnectionSettings); await connection.OpenAsync(timeoutHelper.RemainingTime()).ConfigureAwait(false); // Always create the CBS Link + Session AmqpCbsLink cbsLink = new AmqpCbsLink(connection); if (connection.Extensions.Find <AmqpCbsLink>() == null) { connection.Extensions.Add(cbsLink); } MessagingEventSource.Log.AmqpConnectionCreated(hostName, connection); return(connection); }
async Task <AmqpConnection> CreateConnectionAsync(TimeSpan timeout) { var hostName = this.Endpoint.Host; var timeoutHelper = new TimeoutHelper(timeout); var amqpSettings = AmqpConnectionHelper.CreateAmqpSettings( amqpVersion: AmqpVersion, useSslStreamSecurity: true, networkCredential: NetCredential, useWebSockets: TransportType == TransportType.AmqpWebSockets); var transportSettings = CreateTransportSettings(); var amqpTransportInitiator = new AmqpTransportInitiator(amqpSettings, transportSettings); var transport = await amqpTransportInitiator.ConnectTaskAsync(timeoutHelper.RemainingTime()).ConfigureAwait(false); var containerId = Guid.NewGuid().ToString(); var amqpConnectionSettings = AmqpConnectionHelper.CreateAmqpConnectionSettings(AmqpConstants.DefaultMaxFrameSize, containerId, hostName); var connection = new AmqpConnection(transport, amqpSettings, amqpConnectionSettings); await connection.OpenAsync(timeoutHelper.RemainingTime()).ConfigureAwait(false); MessagingEventSource.Log.AmqpConnectionCreated(hostName, connection); return(connection); }