protected override void InitializeFrom(System.ServiceModel.Channels.BindingElement bindingElement) { base.InitializeFrom(bindingElement); if (bindingElement == null) { throw new ArgumentNullException("binding"); } RabbitMQTransportBindingElement rabbind = bindingElement as RabbitMQTransportBindingElement; if (rabbind == null) { throw new ArgumentException( string.Format("Invalid type for binding. Expected {0}, Passed: {1}", typeof(RabbitMQBinding).AssemblyQualifiedName, bindingElement.GetType().AssemblyQualifiedName)); } this.HostName = rabbind.HostName; this.Port = rabbind.Port; this.Password = rabbind.ConnectionFactory.Password; this.Username = rabbind.ConnectionFactory.UserName; this.VirtualHost = rabbind.ConnectionFactory.VirtualHost; }