public class Program { private static Logger logger = LogManager.GetCurrentClassLogger();
public static void Main(string[] args) { var builder = new ConfigurationBuilder() .AddJsonFile("appsettings.json"); var configuration = builder.Build();
using Iot.Device.DHTxx; using Microsoft.AspNetCore.SignalR.Client; using NLog; using System; using System.Collections.Generic; using System.Threading.Tasks;
using demo.Database; using demo.Entities; using demo.SignalR.IotClient; using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks;
namespacedemo.SignalR { publicclassIotHub: Hub { privatereadonly MyContext _myContext; privatereadonly ILoggerFactory _loggerFactory; publicIotHub(MyContext myContext, ILoggerFactory loggerFactory) { _myContext = myContext; _loggerFactory = loggerFactory; } publicasync Task IotClientUpload(UploadData uploadData) { var logger = _loggerFactory.CreateLogger(typeof(IotHub)); logger.LogError(Newtonsoft.Json.JsonConvert.SerializeObject(uploadData)); var connectionId = Context.ConnectionId; if (uploadData isnull) { await IotClientRsult(connectionId, $"上传内容为空!"); return; } if (uploadData.Attributes != null) { foreach (var attribute in uploadData.Attributes) { foreach (var data in attribute.Data) { _myContext.IotData.Add(new IotData() { Guid = Guid.NewGuid(), Timestamp = data.Timestamp, Value = data.Value, Identifier = attribute.Identifier, DeviceGuid = uploadData.DeviceGuid }); } } } int count = await _myContext.SaveChangesAsync();