sto sviluppando applicazioni distribuite con l'aiuto di MassTransit e rabbitmqArchitettura distribuita con MassTransit, RabbitMQ e SignalR
devo fornire capacità di generare il rapporto su una pagina web senza ricaricare la pagina facendo clic su un pulsante, anche io dovrebbe chiamare un servizio Windows per la preparazione dei dati (il servizio gestisce ogni richiesta per 30sek - 1min).
Il mio primo tentativo in base a questo campione: https://github.com/MassTransit/Sample-RequestResponse
[HttpPost]
public async Task<HttpStatusCodeResult> GenerateReport(string someJsonData)
{
var serviceAddress = new Uri(ConfigurationManager.AppSettings["BaseLineRecordService"]);
var client = this.Bus.CreateRequestClient<ICreateReportRequest, ICreateReportResponse>(serviceAddress, TimeSpan.FromHours(1));
ICreateReportResponse response = await client.Request(new CreateReportRequest());
reportHub.ShowRepordData(response); // Update data by SingleR
return new HttpStatusCodeResult(200);
}
Ma a quanto mi risulta' non è un approccio migliore, perché sto mantenendo la connessione durante tutta la preparazione dei dati.
Ho letto molti articoli e ho trovato tre modi. Qual è il modo preferito?
1) Come questo articolo http://www.maldworth.com/2015/07/19/signalrchat-with-masstransit-v3/
2) Come prima, ma con Riposo API chiedendo invece di consumatori dal lato IIS
3) idea da questo articolo http://weblog.west-wind.com/posts/2013/Sep/04/SelfHosting-SignalR-in-a-Windows-Service
Ciao Chris, ho atteso la tua risposta, molte grazie! –