Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

ValuesController.cs 1.5 KiB

7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
7 anni fa
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System;
  2. using System.Threading.Tasks;
  3. using DotNetCore.CAP;
  4. using DotNetCore.CAP.RabbitMQ;
  5. using Microsoft.AspNetCore.Hosting;
  6. using Microsoft.AspNetCore.Mvc;
  7. namespace Sample.Kafka.Controllers
  8. {
  9. [Route("api/[controller]")]
  10. public class ValuesController : Controller, ICapSubscribe
  11. {
  12. private readonly ICapPublisher _producer;
  13. private readonly AppDbContext _dbContext ;
  14. public ValuesController(ICapPublisher producer, AppDbContext dbContext)
  15. {
  16. _producer = producer;
  17. _dbContext = dbContext;
  18. }
  19. [Route("/")]
  20. public IActionResult Index()
  21. {
  22. return Ok();
  23. }
  24. public string ServerPath => ((IHostingEnvironment)HttpContext.RequestServices.GetService(typeof(IHostingEnvironment))).ContentRootPath;
  25. [CapSubscribe("zzwl.topic.finace.callBack", Group = "test")]
  26. public void KafkaTest(Person person)
  27. {
  28. Console.WriteLine(DateTime.Now);
  29. }
  30. [Route("~/send")]
  31. public async Task<IActionResult> SendTopic()
  32. {
  33. using (var trans = _dbContext.Database.BeginTransaction())
  34. {
  35. await _producer.PublishAsync("zzwl.topic.finace.callBack","");
  36. trans.Commit();
  37. }
  38. return Ok();
  39. }
  40. public class Person
  41. {
  42. public string Name { get; set; }
  43. public int Age { get; set; }
  44. }
  45. }
  46. }