ASP .NET MVC websocket客户端在DB中保存数据

时间:2017-05-05 13:50:54

标签: asp.net-mvc websocket

我正在努力实现以下目标:

  1. 我创建了一个Java websocket服务器,每1秒发布一次数据。
  2. 在ASP MVC项目中我想收到数据并将它们保存在数据库中,所以这里没有JS参与。
  3. 我可以使用下面的控制台应用程序方法读取websocket数据:

    using WebSocketSharp;
    
     List<string> readoutList = new List<string>();
    
    
        public void receiveMessage() {
            using (var ws = new WebSocket("ws://localhost:4567/socket/"))
            {
                ws.OnMessage += (sender, e) =>
                {
                    if (e.IsText)
                    {
                        readoutList.Add(e.Data.ToString());
                        Console.WriteLine(e.Data.ToString());
    
    
                    }
                };
    
    
                ws.Connect();
                Console.ReadKey(true);
            }
       }` 
    

    如何在ASP MVC项目中创建此类服务?我需要一些方向。

1 个答案:

答案 0 :(得分:0)

MVC是无状态的,因此您必须请求返回服务器以发起请求(例如从表单发布),但在MVC控制器响应中,您可以启动对服务器的请求(as an example using a different technology) 。问题是MVC中不一定有1对1的翻译;使用客户端JavaSvcript启动请求将是此处的选项。在MVC中启动这些类型的请求可能会导致超时问题,您必须知道。

或者,您可以考虑安装的计划的Windows程序或Windows服务,它可以自我管理并经常发起请求。我认为这是更好的选择。