Commit 43ee6268 authored by Savorboard's avatar Savorboard

update readme

parent 2346bc20
...@@ -94,7 +94,7 @@ public void Configure(IApplicationBuilder app) ...@@ -94,7 +94,7 @@ public void Configure(IApplicationBuilder app)
Inject `ICapPublisher` in your Controller, then use the `ICapPublisher` to send message Inject `ICapPublisher` in your Controller, then use the `ICapPublisher` to send message
```cs ```c#
public class PublishController : Controller public class PublishController : Controller
{ {
private readonly AppDbContext _dbContext; private readonly AppDbContext _dbContext;
...@@ -109,9 +109,9 @@ public class PublishController : Controller ...@@ -109,9 +109,9 @@ public class PublishController : Controller
{ {
using (var trans = dbContext.Database.BeginTransaction()) using (var trans = dbContext.Database.BeginTransaction())
{ {
// your business code // your business code
//Achieving atomicity between original database operation and the publish event log thanks to a local transaction //Achieving atomicity between original database operation and the publish event log thanks to a local transaction
await publisher.PublishAsync("xxx.services.account.check", new Person { Name = "Foo", Age = 11 }); await publisher.PublishAsync("xxx.services.account.check", new Person { Name = "Foo", Age = 11 });
trans.Commit(); trans.Commit();
...@@ -128,10 +128,9 @@ public class PublishController : Controller ...@@ -128,10 +128,9 @@ public class PublishController : Controller
Add the Attribute `[CapSubscribe()]` on Action to subscribe message: Add the Attribute `[CapSubscribe()]` on Action to subscribe message:
```cs ```c#
public class PublishController : Controller public class PublishController : Controller
{ {
[NoAction]
[CapSubscribe("xxx.services.account.check")] [CapSubscribe("xxx.services.account.check")]
public async Task CheckReceivedMessage(Person person) public async Task CheckReceivedMessage(Person person)
{ {
......
...@@ -97,32 +97,25 @@ public void Configure(IApplicationBuilder app) ...@@ -97,32 +97,25 @@ public void Configure(IApplicationBuilder app)
```c# ```c#
public class PublishController : Controller public class PublishController : Controller
{ {
private readonly ICapPublisher _publisher; private readonly AppDbContext _dbContext;
public PublishController(ICapPublisher publisher)
{
_publisher = publisher;
}
public PublishController(AppDbContext dbContext)
[Route("~/checkAccount")]
public async Task<IActionResult> PublishMessage()
{ {
//指定发送的消息头和内容 _dbContext = dbContext;
await _publisher.PublishAsync("xxx.services.account.check", new Person { Name = "Foo", Age = 11 });
return Ok();
} }
[Route("~/checkAccountWithTrans")] [Route("~/checkAccountWithTrans")]
public async Task<IActionResult> PublishMessageWithTransaction([FromServices]AppDbContext dbContext) public async Task<IActionResult> PublishMessageWithTransaction([FromServices]ICapPublisher publisher)
{ {
using (var trans = dbContext.Database.BeginTransaction()) using (var trans = dbContext.Database.BeginTransaction())
{ {
await _publisher.PublishAsync("xxx.services.account.check", new Person { Name = "Foo", Age = 11 }); // your business code
//Achieving atomicity between original database operation and the publish event log thanks to a local transaction
await publisher.PublishAsync("xxx.services.account.check", new Person { Name = "Foo", Age = 11 });
trans.Commit(); trans.Commit();
} }
return Ok(); return Ok();
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment