Ish*_*hyc 4 asp.net-mvc azure signalr azure-functions
我正在尝试使用我的 Azure 系统设置 SignalR。设置相当标准
当用户从门户开始耗时的操作时,我希望云服务能够通过 SignalR 通知所有连接的浏览器云服务已完成。
我想我可以使用像 SignalR 客户端这样的 Azure 函数来执行此操作,可以触发该函数以强制 SignalR 使用 Azure 函数中的代码广播消息,如下所示
HubConnection hub = new HubConnection(*URL OF PORTAL GOES HERE*);
var proxy = hub.CreateHubProxy(*NAME OF HUB GOES HERE*);
await hub.Start();
await proxy.Invoke("Hello"); // Name of default hub method
Run Code Online (Sandbox Code Playgroud)
在 ASP.NET MVC 方面,我还使用 Azure 服务总线队列,这似乎是扩展方面的建议。所以,在我的 Startup.cs 中我有
public class Startup
{
public void Configuration(IAppBuilder app)
{
GlobalHost.DependencyResolver.UseServiceBus(@"*SERVICE BUS CONNNECTION STRING GOES HERE*", "blah");
app.MapSignalR();
}
}
Run Code Online (Sandbox Code Playgroud)
注意:为了让它与最新的 SignalR 一起使用,我必须使用 Microsoft.AspNet.SignalR.ServiceBus3 nuget 包,否则在进行 UseServiceBus 调用时我会遇到异常。
现在,这一切似乎都奏效了。我可以从 PostMan 调用 Azure 函数,并且在我的浏览器中果然可以通过信号器调用。
但是,我不确定这是否是正确的做法。在这种情况下,扩展是否有效,或者是否有更好的方法强制信号发送者广播消息?
谢谢
你的想法是正确的。我正在运行相同的体系结构,只是我使用的是 WebJob 而不是 Azure Function。几点:
| 归档时间: |
|
| 查看次数: |
1528 次 |
| 最近记录: |