ASP.net WEB API
public class RealtimeApiController : ApiController
{
public void Post(DeviceDataArray dataArray)
{
foreach (var item in dataArray.DeviceDataItems)
{
// do something
}
}
}
[ProtoContract]
public class DeviceDataArray
{
[ProtoMember(1, IsRequired = true)]
public DeviceData[] DeviceDataItems { get; set; }
}
[ProtoContract]
public class DeviceData
{
[ProtoMember(1, IsRequired = true)]
public Guid DeviceId { get; set; }
[ProtoMember(2, IsRequired = true)]
public DateTime DateTime { get; set; }
[ProtoMember(3, IsRequired = true)]
public DeviceValue[] DeviceValues { get; set; }
}
[ProtoContract]
public class DeviceValue
{
/// http://wiki.smart-me.com/index.php/Obis_codes
[ProtoMember(1, IsRequired = true)]
public byte[] Obis { get; set; }
[ProtoMember(2, IsRequired = true)]
public double Value { get; set; }
}
Include Protobuffer into project: https://damienbod.com/2014/01/11/using-protobuf-net-media-formatter-with-web-api-2/