public void Receive(IMessage message) { var results = protocol.Perform(x => x.Send(message)); foreach (IMessage result in results) { manager.CreateDelegate(result, serviceBus).DynamicInvoke(result); } }
public void ProcessRequest(HttpContext httpContext) { var context = controllerContext(); var modelBindingResult = handlerContext.ModelBinding.Using(new DefaultModelBinder()).BindAs <IMessage>(); if (modelBindingResult.Validate(message => manager.CreateDelegate(message, serviceBus).DynamicInvoke(message))) { manager.CreateDelegate(modelBindingResult.Output, serviceBus).DynamicInvoke(modelBindingResult.Output); } if (!context.Controller.TempData.ContainsKey("EventHandled") || !(bool)context.Controller.TempData["EventHandled"]) { response(handlerContext.ResponseType).Execute(bucket.All(), context); } context.HttpContext.Response.Flush(); context.HttpContext.Response.Close(); }
public List <IMessage> Send(IMessage message) { messages.Clear(); tracker.Track(message); manager.CreateDelegate(message, serviceBus).DynamicInvoke(message); tracker.Clear(); return(messages.All()); }