public async Task Dispatch(ResolvedEvent @event) { var headers = JsonObject.Parse(@event.Event.Metadata.FromAsciiBytes()).ToNameValueCollection(); var clrEventType = headers.Get(EventClrTypeHeader); Type type; if (EventTypes.TryResolveMapping(clrEventType, out type)) { var typedEvent = JsonSerializer.DeserializeFromString(@event.Event.Data.FromAsciiBytes(), type); try { var request = new BasicRequest(); request.Headers.AddAll(headers); await HostContext.ServiceController.ExecuteAsync(typedEvent, request, true); } catch (Exception e) { log.Error(e); } return; } }