使用Asp.net通过db update通知多个客户端

时间:2014-10-09 10:10:34

标签: c# asp.net .net security

我在设计系统时遇到问题,需要帮助。

我的系统包括:

Zigbee module
Sensor
Raspberry pi
Website
SMS Gateway

zigbee,传感器和覆盆子pi之间的连接都已整理好。

(zigbee,传感器覆盆子pi)包有多个集合,每个集合都应在网站上管理。每当树莓派检测到破坏时,它应该发送某种通知,这些通知将发送给预先确定的用户,这些用户必须接收带有链接的SMS,该链接向他们提供有关哪些树莓派报告了破坏以及覆盆子pi属于谁的信息。

到目前为止,我已经使用asp.net mvc5设计了一个网站,运行正常,您可以创建新的覆盆子pi,将它们分配给房屋等等。因此,完成了对数据库的所有简单插入/删除/编辑。

我使用Web API使raspberry pi能够更改数据库中的数据,因此每当它检查是否可以找到属于它的传感器时,它将产生如下所示的PUT:

 public HttpResponseMessage Put([FromBody] ICollection<Sensor> changedSensors )
    {
        ICollection<Sensor> sensorsNotRecognized =  new Collection<Sensor>();
        if (_repo.ChangeSensors(changedSensors) && _repo.Save())
        {
            foreach (var sensor in changedSensors)
            {
                if (sensor.Recognized == false)
                    sensorsNotRecognized.Add(sensor);
            }
            if (sensorsNotRecognized.Count > 0)
            {
                //REACT (SOME SENSORS NOT RECOGNIZED)
                //TODO react


            }

             return Request.CreateResponse(HttpStatusCode.OK);

        }
           return Request.CreateResponse(HttpStatusCode.BadRequest, changedSensors);
    }

我现在想要的是,如果其中一个传感器尚未设置为已识别,我需要通知属于使数据库更新的树莓派的用户。

我目前没有实施任何类型的会员制度,我想知道的是: 我已经研究过SignalR,可以用来通知用户吗?如果是这样,怎么样? 我应该使用asp.net会员系统还是实现自己的?

项目的git在这里:https://github.com/Niclassg/lenio

1 个答案:

答案 0 :(得分:1)

我使用服务总线:http://azure.microsoft.com/en-us/documentation/articles/fundamentals-service-bus-hybrid-solutions/

我正在使用&#34;主题&#34;