void Microsoft.ServiceBus.IDirectConnectionControl.Connect(DirectConnectMessage request)
        {
            DirectConnectionSession directConnectionSession;

            lock (this.ThisLock)
            {
                if (this.isClosed)
                {
                    throw Fx.Exception.AsError(new FaultException(SRClient.EndpointNotFound), null);
                }
                if (this.connectionSessions.ContainsKey(request.Id))
                {
                    throw Fx.Exception.AsError(new FaultException(SRClient.DuplicateConnectionID), null);
                }
                directConnectionSession = new DirectConnectionSession(new Guid(request.Id), this.probingClient, this)
                {
                    Channel = OperationContext.Current.GetCallbackChannel <IDirectConnectionControl>()
                };
                directConnectionSession.Listen();
                this.connectionSessions.Add(request.Id, directConnectionSession);
            }
            ((IDirectConnectionControl)directConnectionSession).Connect(request);
        }
示例#2
0
 public override void Connect(DirectConnectMessage request)
 {
     this.Connect(request.Addresses);
 }
示例#3
0
 public virtual void Connect(DirectConnectMessage request)
 {
     throw new FaultException(SRClient.InvalidCallFaultException);
 }
示例#4
0
 void Microsoft.ServiceBus.IDirectConnectionControl.Connect(DirectConnectMessage request)
 {
     this.activity.Connect(request);
 }