public static IEndpoint New(IMsmqEndpointAddress address, IMessageSerializer serializer) { return(New(new CreateMsmqEndpointSettings(address) { Serializer = serializer, })); }
public static IEndpoint New(IMsmqEndpointAddress address, IMessageSerializer serializer) { return New(new CreateMsmqEndpointSettings(address) { Serializer = serializer, }); }
public IInboundTransport BuildInbound(ITransportSettings settings) { try { var msmqEndpointAddress = new MsmqEndpointAddress(settings.Address.Uri, settings.Transactional); TransportSettings msmqSettings = GetTransportSettings(settings, msmqEndpointAddress); IMsmqEndpointAddress transportAddress = msmqSettings.MsmqAddress(); if (transportAddress.IsLocal) { ValidateLocalTransport(msmqSettings); PurgeExistingMessagesIfRequested(msmqSettings); } var connection = new MessageQueueConnection(transportAddress, QueueAccessMode.Receive); var connectionHandler = new ConnectionHandlerImpl <MessageQueueConnection>(connection); if (msmqSettings.Transactional) { return(new TransactionalInboundMsmqTransport(transportAddress, connectionHandler, msmqSettings.TransactionTimeout, msmqSettings.IsolationLevel)); } return(new NonTransactionalInboundMsmqTransport(transportAddress, connectionHandler)); } catch (Exception ex) { throw new TransportException(settings.Address.Uri, "Failed to create MSMQ inbound transport", ex); } }
public IOutboundTransport BuildOutbound(ITransportSettings settings) { try { var msmqEndpointAddress = new MsmqEndpointAddress(settings.Address.Uri, settings.Transactional); TransportSettings msmqSettings = GetTransportSettings(settings, msmqEndpointAddress); IMsmqEndpointAddress transportAddress = msmqSettings.MsmqAddress(); if (transportAddress.IsLocal) { ValidateLocalTransport(msmqSettings); } var connection = new MessageQueueConnection(transportAddress, QueueAccessMode.Send); var connectionHandler = new ConnectionHandlerImpl <MessageQueueConnection>(connection); if (msmqSettings.Transactional) { return(new TransactionalOutboundMsmqTransport(transportAddress, connectionHandler)); } return(new NonTransactionalOutboundMsmqTransport(transportAddress, connectionHandler)); } catch (Exception ex) { throw new TransportException(settings.Address.Uri, "Failed to create MSMQ outbound transport", ex); } }
public MessageQueueConnection(IMsmqEndpointAddress address, QueueAccessMode accessMode) { _address = address; _accessMode = accessMode; _multicastAddress = null; switch (_accessMode) { case QueueAccessMode.Send: _formatName = _address.OutboundFormatName; break; case QueueAccessMode.Peek: case QueueAccessMode.PeekAndAdmin: case QueueAccessMode.Receive: case QueueAccessMode.ReceiveAndAdmin: _formatName = _address.InboundFormatName; _multicastAddress = address.MulticastAddress; break; default: throw new EndpointException(_address.Uri, "An endpoint connection cannot be send and receive"); } _needReconnect = true; }
public TransactionalInboundMsmqTransport(IMsmqEndpointAddress address, TimeSpan transactionTimeout, IsolationLevel isolationLevel) : base(address) { _transactionTimeout = transactionTimeout; _isolationLevel = isolationLevel; }
public TransactionalInboundMsmqTransport(IMsmqEndpointAddress address, ConnectionHandler<MessageQueueConnection> connectionHandler, TimeSpan transactionTimeout, IsolationLevel isolationLevel) : base(address, connectionHandler) { _transactionTimeout = transactionTimeout; _isolationLevel = isolationLevel; }
public TransactionalInboundMsmqTransport(IMsmqEndpointAddress address, ConnectionHandler <MessageQueueConnection> connectionHandler, TimeSpan transactionTimeout, IsolationLevel isolationLevel) : base(address, connectionHandler) { _transactionTimeout = transactionTimeout; _isolationLevel = isolationLevel; }
public MsmqEndpoint(IMsmqEndpointAddress address, IMessageSerializer serializer, IMsmqTransport transport, IMsmqTransport errorTransport) : base(address, serializer) { _tracker = new MessageRetryTracker(5); _transport = transport; _errorTransport = errorTransport; SetDisposedMessage(); }
public static void Manage(IMsmqEndpointAddress address, Action <IEndpointManagement> action) { try { var management = new MsmqEndpointManagement(address); action(management); } catch (Exception ex) { throw new TransportException(address.Uri, "There was a problem managing the transport", ex); } }
protected virtual void Dispose(bool disposing) { if (_disposed) { return; } if (disposing) { Disconnect(); _address = null; } _disposed = true; }
public MessageQueueConnection(IMsmqEndpointAddress address, QueueAccessMode accessMode) { _address = address; _accessMode = accessMode; _multicastAddress = null; switch (_accessMode) { case QueueAccessMode.Send: _formatName = _address.OutboundFormatName; break; case QueueAccessMode.Peek: case QueueAccessMode.PeekAndAdmin: case QueueAccessMode.Receive: case QueueAccessMode.ReceiveAndAdmin: _formatName = _address.InboundFormatName; _multicastAddress = address.MulticastAddress; break; default: throw new EndpointException(_address.Uri, "An endpoint connection cannot be send and receive"); } }
public static IEndpointManagement New(IMsmqEndpointAddress address) { return new MsmqEndpointManagement(address); }
private MsmqEndpointManagement(IMsmqEndpointAddress address) { _address = address; }
public TransactionalOutboundMsmqTransport(IMsmqEndpointAddress address) : base(address) { }
public static void Manage(IMsmqEndpointAddress address, Action<IEndpointManagement> action) { try { var management = new MsmqEndpointManagement(address); action(management); } catch (Exception ex) { throw new TransportException(address.Uri, "There was a problem managing the transport", ex); } }
protected AbstractMsmqTransport(IMsmqEndpointAddress address) { _address = address; }
protected virtual void Dispose(bool disposing) { if (_disposed) return; if (disposing) { Disconnect(); _address = null; } _disposed = true; }
protected OutboundMsmqTransport(IMsmqEndpointAddress address) { _address = address; _connection = new MessageQueueConnection(address, QueueAccessMode.Send); }
public NonTransactionalInboundMsmqTransport(IMsmqEndpointAddress address) : base(address) { }
public NonTransactionalMsmqTransport(IMsmqEndpointAddress address) : base(address) { }
public static IEndpointManagement New(IMsmqEndpointAddress address) { return(new MsmqEndpointManagement(address)); }
protected OutboundMsmqTransport(IMsmqEndpointAddress address, ConnectionHandler <MessageQueueConnection> connectionHandler) { _address = address; _connectionHandler = connectionHandler; }
public NonTransactionalOutboundMsmqTransport(IMsmqEndpointAddress address, ConnectionHandler <MessageQueueConnection> connectionHandler) : base(address, connectionHandler) { }
public TransactionalOutboundMsmqTransport(IMsmqEndpointAddress address, ConnectionHandler<MessageQueueConnection> connectionHandler) : base(address, connectionHandler) { }
protected InboundMsmqTransport(IMsmqEndpointAddress address, ConnectionHandler<MessageQueueConnection> connectionHandler) { _address = address; _connectionHandler = connectionHandler; }
public static long GetMessageCount(this IMsmqEndpointAddress address) { IEndpointManagement management = MsmqEndpointManagement.New(address.Uri); return(management.Count()); }
private MsmqEndpointManagement(IEndpointAddress address) { _address = address as MsmqEndpointAddress ?? new MsmqEndpointAddress(address.Uri); }
MsmqEndpointManagement(IEndpointAddress address) { _address = address as MsmqEndpointAddress ?? new MsmqEndpointAddress(address.Uri); }