I want to use SignalR for stored procedure. I want to do run live stored procedure.
The page needs to be refreshed. But I don't know where to run my stored procedure. I will be glad if you help. This is important for me.
Mine is SignalR using EFCore. You just can run stored procedure in TestSignalR() function.
Add services.AddSignalR() and app.UseSignalR().
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseSignalR(routes =>
{
routes.MapHub<YourSignalHub>("/yoursignalhub");
});
}
public class YourSignalHub : Hub
{
public async Task SendWhatever()
{
await Clients.All.SendAsync("GetSomething");
}
}
<a id="btnSend">Send</a>
<span id="spanLiveMessage"></span>
<script>
var connection = new signalR.HubConnectionBuilder().withUrl("/yoursignalhub").build();
connection.on("GetSomething", function () {
$.post('@Url.Action("TestSignalR", "Home")', null, function (e) {
$("#spanLiveMessage").text("test");
// or your code
});
});
$("#btnSend").click(function () {
connection.invoke("SendWhatever").catch(function (err) {
return console.error(err.toString());
});
});
</script>
[HttpPost]
public IActionResult TestSignalR()
{
// your code to execute stored procedure here
}