Esempio n. 1
0
 private void KcvdbClient_SendingError(object sender, SendingErrorEventArgs e)
 {
     try {
         TelemetryClient.TrackException("Sending error catched.", e.Exception, new {
             ErrorMessage = e.Message,
             Reason       = e.Reason,
         });
     }
     catch (Exception ex) {
         if (ex.IsCritical())
         {
             throw;
         }
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Called after the network thrown an exception while sending data.
 /// </summary>
 /// <param name="sender">The sender instance.</param>
 /// <param name="ev">The <see cref="SendingErrorEventArgs"/> instance.</param>
 protected virtual void OnSendingError(object sender, SendingErrorEventArgs ev) => SendingError?.Invoke(sender, ev);
 /// <inheritdoc cref="API.Network.OnSendingError(object, SendingErrorEventArgs)"/>
 public void OnSendingError(object _, SendingErrorEventArgs ev)
 {
     Log.Error($"[NET] {string.Format(Language.SendingDataError, Instance.Config.IsDebugEnabled ? ev.Exception.ToString() : ev.Exception.Message)}");
 }
Esempio n. 4
0
        public static IEnumerable<KCVDBApiItem> CreateInstance(SendingErrorEventArgs sendingErrorArgs)
        {
            if (sendingErrorArgs.ApiData == null || sendingErrorArgs.TrackngIds == null) yield break;

            foreach (var i in Enumerable.Range(0, Math.Min(sendingErrorArgs.ApiData.Length, sendingErrorArgs.TrackngIds.Length)))
            {
                var item = new KCVDBApiItem();

                if (sendingErrorArgs.ApiData[i] != null)
                {
                    item.Date = DateConverter(sendingErrorArgs.ApiData[i].HttpDateHeaderValue);
                    item.Url = sendingErrorArgs.ApiData[i].RequestUri;
                    item.HttpStatusCode = sendingErrorArgs.ApiData[i].StatusCode;
                }
                item.SendStatus = KCVDBSendStatus.SendingError;
                item.TrackingId = sendingErrorArgs.TrackngIds[i];
                item.ErrorMessage = sendingErrorArgs.Message;

                yield return item;
            }
        }