public void Unsubscribe(UnsubscribeRequest request) { IdentifierHeader identifierHeader = OperationContextProxy.Current.FindHeader <IdentifierHeader>(); lock (_activeSubscriptions) { Subsciption toRemove; if (_activeSubscriptions.TryGetValue(identifierHeader.Value, out toRemove)) { toRemove.Dispose(); _activeSubscriptions.Remove(identifierHeader.Value); } } }
public RenewResponse Renew(RenewRequest request) { IdentifierHeader identifierHeader = OperationContextProxy.Current.FindHeader <IdentifierHeader>(); lock (_activeSubscriptions) { Subsciption toRenew; if (_activeSubscriptions.TryGetValue(identifierHeader.Value, out toRenew)) { toRenew.Renew(request.Expires ?? Expires.FromTimeSpan(DefaultExpirationTime)); } } return(new RenewResponse { Expires = request.Expires }); }