在我的 ASP.NET MVC 应用程序中,用户单击 UI 上的按钮拨打电话。ajax 请求发送到 MVC 应用程序,该应用程序调用电话拨号器——库中的一种方法,它调用外部组件进行呼叫。
如果呼叫的接收方终止了已拨呼叫,则电话拨号器组件通过调用其自己的类中的事件处理程序来引发事件。
我想将该事件传播到客户端,以便它可以更新其 UI。
我无法使用的选项
我查看了 JavaScript 服务器发送的事件。但是,它们与我的情况不同,在 JavaScript 服务器发送的事件中,会发生以下情况:
1) 客户端在新的套接字上向服务器发起连接。关键区别在于,客户端启动连接。
2) 连接保持活动状态,直到服务器或客户端想要终止它。
3) 从建立连接到客户端或服务器想要终止连接并且不再交换通知,服务器必须始终处于活动状态。这意味着每个客户端都使用一个新的套接字连接和一个新的工作线程来服务通知交换。
如果我使用服务器发送的事件,我将不得不制作一个保持活动状态的服务器。这意味着我必须在控制器上执行新操作,并在开始时调用相应的视图并保持活动状态,直到收到有关呼叫挂断的通知。
这不仅会很昂贵,而且对我的设计也有悖常理,因为我不想仅仅为了监听事件而被重定向到新视图。
有人有其他选择吗?