我想建立一个能够与基于C#.NET窗体应用程序的软件电话实现进行通信(异步)的网页。理想情况下,任何电话号码附近的按钮都应该将包含电话号码和一些附加数据的字符串发送到本地运行的软电话。 Windows表单应该接收该号码并使用它来拨打电话。 应将呼叫结束传送回最初启动呼叫的网页。 作为.NET编程的初学者,哪个实现可能是最简单,最轻松的实现这些要求?我专注于ASP .NET,但它真的有用吗?非常感谢
答案 0 :(得分:0)
Serverside技术和客户端技术完全不相关,因为浏览器将处于中间位置。 一种可能是在您点击电话号码时从网站返回带有自定义扩展名的文件。文件扩展名可以在本地操作系统(通过安装程序)与客户端应用程序链接,因此它将随您使用软电话应用程序自动打开。
此文件可以包含任何包含您要传输的所有信息的数据结构。 (寻找“xml序列化”)
编辑: 此解决方案使您独立于操作系统(set sip handler application in registry)中的SIP协议处理程序,并允许转发有关要调用的人员的更多信息,而不仅仅是数字。
答案 1 :(得分:0)
你应该看看SignalR。它是一个用于实时网络通信的库。
您可以在自己的进程(自托管)中托管SignalR应用程序,也可以在IIS Web服务器中托管它。
您的网站和.NET WinForm应用程序都连接到它。您可以使用SignalR groups将网站用户与WinForms客户端关联。
然后,您可以将消息从您的网站发送到SignalR并将其广播到某个组(您的WinForm应用程序所属的组)。
ASP.NET网站上有很多关于它的教程。
http://www.asp.net/signalr/overview/getting-started
只要SignalR /您的ASP.NET网站不在本地托管,这也适用于WinPhone应用程序。
修改强> 只是一些额外的信息: SingalR需要Windows Server 2012或更高版本才能启用WebSocket支持,否则它将不得不回退到替代机制(HTML 5的服务器发送事件或“永远帧”/ Ajax长轮询