public int RegisterInvokeCallback(IInvokeDuplexCallback invoke) { var id = Interlocked.Increment(ref lastCallbackId); if (!invokeCallbacks.TryAdd(id, invoke)) { throw new InvalidOperationException(Errors.ProtocolDuplicateDuplexId); } return(id); }
public int RegisterInvokeCallback(IInvokeDuplexCallback invoke) { Contract.Requires(invoke != null); return(0); }