本文整理汇总了C#中ICommandBus.Publish方法的典型用法代码示例。如果您正苦于以下问题:C# ICommandBus.Publish方法的具体用法?C# ICommandBus.Publish怎么用?C# ICommandBus.Publish使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICommandBus
的用法示例。
在下文中一共展示了ICommandBus.Publish方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ApiModule
public ApiModule(IBookProjection books, ICommandBus commandBus)
{
Get["/api/Book.ListAll"] = _ => books.ListAll();
Get["/api/Book.Load"] = _ => books.Load((Guid)Request.Query.id);
Post["/api/Book.RegisterBook"] = _ =>
{
var cmd = this.Bind<RegisterBook>();
cmd.Id = Guid.NewGuid();
commandBus.Publish(cmd);
return new { cmd.Id };
};
Post["/api/Book.CorrectBook"] = _ =>
{
var cmd = this.Bind<CorrectBook>();
commandBus.Publish(cmd);
return null;
};
Post["/api/Book.DeleteBook"] = _ =>
{
var cmd = this.Bind<DeleteBook>();
commandBus.Publish(cmd);
return null;
};
OnError += (ctx, ex) =>
{
if (ex is AggregateException) ex = ((AggregateException)ex).Flatten().InnerExceptions[0];
var err = new
{
ErrorMessage = ex.Message,
ErrorType = ex.GetType().FullName,
StackTrace = ex.ToString()
};
return Response.AsJson(err, HttpStatusCode.InternalServerError);
};
}