public void Handle(Agent agent, Action <object> responseWriter) { object result = null; Task.Factory.StartNew( async() => { try { result = await HandleAsync(agent); } catch (Exception e) { result = new XipErrorMessage( $"{GetType ()}.Handle(Agent) threw an exception", e); } }, CancellationToken.None, TaskCreationOptions.DenyChildAttach, MainThread.TaskScheduler).Unwrap().Wait(); responseWriter(result); }
public XipErrorMessageException(XipErrorMessage message) : base(message.Message ?? "unhandled exception") { XipErrorMessage = message; }