public override void Handle(TransactionController controller, object state) { try { IPAddress targetIP = state as IPAddress; if (targetIP == null) { return; } DeviceInfo targetInfo = StrUtil.JsonToObject <DeviceInfo>(dataStr); if (!targetInfo.IsComplete()) { return; } controller.CheckInDevice(targetIP, targetInfo); } catch (Exception e) { Logging.Error(e); } }