public RequestHandler(IRequestServerHandler handler, RequestServer requestServer) { _method = handler.GetType().GetMethod(HandleMethodName); if (_method == null) { throw new TempException(); } _requestServer = requestServer; _handler = handler; Signature = _method.GetParameters().Select(x => x.ParameterType).ToArray(); ReturnType = _method.ReturnType; }
public IDisposable RegisterHandler(IRequestServerHandler handler) { lock (Lock) { Guid uid = handler.Uid; if (_handlers.ContainsKey(uid)) { throw new TempException(); } RequestHandler requestHandler = new RequestHandler(handler, this); _handlers[uid] = requestHandler; return(requestHandler); } }