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);
        }
示例#2
0
 public XipErrorMessageException(XipErrorMessage message)
     : base(message.Message ?? "unhandled exception")
 {
     XipErrorMessage = message;
 }