/// <summary> /// Enqueue a signal for upload /// </summary> /// <param name="signal">signal to serialize as JSON and upload.</param> /// <remarks> /// <para> /// The actual upload will be done in the background. /// </para> /// <para> /// Will do nothing if <see cref="Configure" /> have not been used. /// </para> /// </remarks> public static void Send(SignalDTO signal) { if (signal == null) { throw new ArgumentNullException("signal"); } if (_uri == null) { return; } _instance._signalsToSend.Enqueue(signal); }
/// <summary> /// Will subscribe on the <see cref="Signal.SignalRaised" /> and <see cref="Signal.SignalSuppressed" /> to be able to /// upload all signals. /// </summary> /// <exception cref="InvalidOperationException">You must Configure() first.</exception> public static void UploadAllSignals() { if (_appName == null) { throw new InvalidOperationException("You must Configure() first."); } Signal.SignalRaised += (sender, args) => { string ex = null; if (args.Exception != null) { ex = args.Exception.ToString(); } var dto = new SignalDTO(_appName, (Signal)sender) { CallingMethod = args.CallingMethod, Exception = ex, Reason = args.Reason }; Send(dto); }; Signal.SignalSuppressed += (sender, args) => Send((Signal)sender); }
/// <summary> /// Enqueue a signal for upload /// </summary> /// <param name="signal">signal to serialize as JSON and upload.</param> /// <remarks> /// <para> /// The actual upload will be done in the background. /// </para> /// <para> /// Will do nothing if <see cref="Configure" /> have not been used. /// </para> /// </remarks> public static void Send(SignalDTO signal) { if (signal == null) throw new ArgumentNullException("signal"); if (_uri == null) return; _instance._signalsToSend.Enqueue(signal); }
/// <summary> /// Will subscribe on the <see cref="Signal.SignalRaised" /> and <see cref="Signal.SignalSuppressed" /> to be able to /// upload all signals. /// </summary> /// <exception cref="InvalidOperationException">You must Configure() first.</exception> public static void UploadAllSignals() { if (_appName == null) throw new InvalidOperationException("You must Configure() first."); Signal.SignalRaised += (sender, args) => { string ex = null; if (args.Exception != null) ex = args.Exception.ToString(); var dto = new SignalDTO(_appName, (Signal) sender) { CallingMethod = args.CallingMethod, Exception = ex, Reason = args.Reason }; Send(dto); }; Signal.SignalSuppressed += (sender, args) => Send((Signal) sender); }