Я использую Net Core api и angular, и у меня здесь одна панель инструментов. Есть несколько диаграмм. Я открываю эту страницу с двумя разными пользователями. И когда я что-то меняю в базе данных, из signalr api поступают как измененные, так и неизмененные данные, как показано ниже в console.log. В db я изменил 3 на 2 только последний второй элемент.
home.component.ts:2153 -1,1,31.01.2020,-1,2,-1
2 home.component.ts:2153 -1,1,31.01.2020,-1,3,-1
2 home.component.ts:2153 -1,1,31.01.2020,-1,2,-1
home.component.ts:2153 -1,1,31.01.2020,-1,3,-1
home.component.ts:2153 -1,1,31.01.2020,-1,2,-1
2 home.component.ts:2153 -1,1,31.01.2020,-1,3,-1
home.component.ts:2153 -1,1,31.01.2020,-1,2,-1
В основной части контроллера я называю это. Он вызывает один метод и возвращает данные
[HttpGet]
[Route("Charts")]
public IActionResult Charts(int refShare, int sicil)
{
var timerManager = new TimerManeger(() => _hub.Clients.All.SendAsync(refShare.ToString(), new { type = "chart", data= _repo.SharingDashboard(refShare, sicil) }));
return Ok(new { Message = "Charts Completed" });
}
In angular part
this._hub= new signalR.HubConnectionBuilder().withUrl(Url.url.signalR.getMessages, {
skipNegotiation: true,
transport: signalR.HttpTransportType.WebSockets
}).build();
this._hub.start().
then(()=>console.log("Connection Started")).
catch(err=>console.log(err));
this._hub.on(this.refShare.toString(),(data)=>{
this.RealTimeDahboard(data.data)
});
this.startHttpRequest();
Когда я пишу console.log
in RealTimeDahboard()
, приходит функция, приведенная выше. Так что моя диаграмма всегда меняется. Это происходит, когда я открываю с двумя пользователями одновременно. Если я открываю одного пользователя, он работает нормально. В чем может быть причина?
Спасибо за помощь