示例#1
0
        private void OnReadOnlyChildListChanged()
        {
            CleanTemplateContextByValue(Constants.ReadOnlyChildList);

            foreach (var entity in ReadOnlyChildListEntities)
            {
                string key = String.Format(Constants.ReadOnlyListFormat, entity.EntityKeyName);

                if (ContextData.Get(key) != null)
                {
                    ContextData.Remove(key);
                }

                ReadOnlyListEntities.Remove(entity);

                ContextData.Add(key, Constants.ReadOnlyChildList);

                if (State == TemplateState.RestoringProperties)
                {
                    continue;
                }

                AddChildEntity(entity, true, true);
            }
        }
示例#2
0
        private void OnEditableChildListChanged()
        {
            CleanTemplateContextByValue(Constants.EditableChildList);

            foreach (var entity in EditableChildListEntities)
            {
                string key = String.Format(Constants.ListFormat, entity.EntityKeyName);

                if (ContextData.Get(key) != null)
                {
                    ContextData.Remove(key);
                }

                DynamicRootListEntities.Remove(entity);
                EditableRootListEntities.Remove(entity);
                DynamicListBaseEntities.Remove(entity);

                ContextData.Add(key, Constants.EditableChildList);

                if (State == TemplateState.RestoringProperties)
                {
                    continue;
                }

                AddChildEntity(entity, false, true);
            }
        }
        public void OnDiagnosticHandledException(HttpContext httpContext, Exception exception) {
            var contextData = new ContextData();
            contextData.SetSubmissionMethod("Microsoft.AspNetCore.Diagnostics.UnhandledException");
            contextData.Add(nameof(HttpContext), httpContext);

            exception.ToExceptionless(contextData, _client).Submit();
        }
        public static void RegisterHttpApplicationErrorHandler(this ExceptionlessClient client, HttpApplication app)
        {
            if (_onHttpApplicationError == null)
            {
                _onHttpApplicationError = (sender, args) => {
                    if (HttpContext.Current == null)
                    {
                        return;
                    }

                    Exception exception = HttpContext.Current.Server.GetLastError();
                    if (exception == null)
                    {
                        return;
                    }

                    var contextData = new ContextData();
                    contextData.MarkAsUnhandledError();
                    contextData.SetSubmissionMethod("HttpApplicationError");
                    contextData.Add("HttpContext", HttpContext.Current.ToWrapped());

                    exception.ToExceptionless(contextData, client).Submit();
                }
            }
            ;

            try {
                app.Error -= _onHttpApplicationError;
                app.Error += _onHttpApplicationError;
            } catch (Exception ex) {
                client.Configuration.Resolver.GetLog().Error(typeof(ExceptionlessClientExtensions), ex, "An error occurred while wiring up to the unobserved task exception event.");
            }
        }
示例#5
0
        public void ReedResultServer()
        {
            string         data;
            string         url     = @"https://covid-api.com/api/reports?date=" + DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + "&q=egypt";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                using (Stream stream = response.GetResponseStream())
                    using (StreamReader reader = new StreamReader(stream))
                    {
                        data = reader.ReadToEnd();
                    }

            ObjData dataObj = JsonConvert.DeserializeObject <ObjData>(data);

            if (dataObj.data[0] != null && !context.Corons.Any(c => c.Date.Equals(DateTime.Now)))
            {
                context.Add(new Coron {
                    Active    = dataObj.data[0].active,
                    Confirmed = dataObj.data[0].confirmed.ToString(),
                    Date      = dataObj.data[0].date,
                    Deaths    = dataObj.data[0].deaths,
                    Recovered = dataObj.data[0].recovered
                });
                context.SaveChanges();
            }
        }
        public void OnMiddlewareException(HttpContext httpContext, Exception exception, string name) {
            var contextData = new ContextData();
            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod(name ?? "Microsoft.AspNetCore.MiddlewareAnalysis.MiddlewareException");
            contextData.Add(nameof(HttpContext), httpContext);

            exception.ToExceptionless(contextData, _client).Submit();
        }
        public void OnException(ExceptionContext filterContext) {
            var contextData = new ContextData();
            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod("SendErrorsAttribute");
            contextData.Add("HttpContext", filterContext.HttpContext);

            filterContext.Exception.ToExceptionless(contextData).Submit();
        }
 /// <summary>
 /// Add NancyFX Context into ContextData
 /// </summary>
 /// <param name="context"></param>
 /// <param name="nancyContext"></param>
 /// <exception cref="ArgumentNullException"></exception>
 public static void AddNancyContext(this ContextData context, NancyContext nancyContext)
 {
     if (context is null)
     {
         throw new ArgumentNullException(nameof(context));
     }
     context.Add(Constants.NancyContextName, new NancyContextSolo(nancyContext));
 }
        public override void Log(ExceptionLoggerContext context) {
            var contextData = new ContextData();
            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod("ExceptionLogger");
            contextData.Add("HttpActionContext", context.ExceptionContext.ActionContext);

            context.Exception.ToExceptionless(contextData).Submit();
        }
        public void OnDiagnosticHandledException(HttpContext httpContext, Exception exception)
        {
            var contextData = new ContextData();

            contextData.SetSubmissionMethod("Microsoft.AspNetCore.Diagnostics.UnhandledException");
            contextData.Add(nameof(HttpContext), httpContext);

            exception.ToExceptionless(contextData, _client).Submit();
        }
        public void OnException(ExceptionContext filterContext)
        {
            var contextData = new ContextData();

            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod("SendErrorsAttribute");
            contextData.Add("HttpContext", filterContext.HttpContext);

            filterContext.Exception.ToExceptionless(contextData).Submit();
        }
        public override void Log(ExceptionLoggerContext context)
        {
            var contextData = new ContextData();

            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod("ExceptionLogger");
            contextData.Add("HttpActionContext", context.ExceptionContext.ActionContext);

            context.Exception.ToExceptionless(contextData).Submit();
        }
        public void OnMiddlewareException(HttpContext httpContext, Exception exception, string name)
        {
            var contextData = new ContextData();

            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod(name ?? "Microsoft.AspNetCore.MiddlewareAnalysis.MiddlewareException");
            contextData.Add(nameof(HttpContext), httpContext);

            exception.ToExceptionless(contextData, _client).Submit();
        }
        private static Response OnError(NancyContext context, Exception exception) {
            var contextData = new ContextData();
            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod("NancyPipelineException");
            contextData.Add(NANCY_CONTEXT, context);

            exception.ToExceptionless(contextData).Submit();

            return context.Response;
        }
        public virtual void OnHttpException(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken) {
            if (HasWrappedFilter)
                WrappedFilter.ExecuteExceptionFilterAsync(actionExecutedContext, cancellationToken);

            var contextData = new ContextData();
            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod("ExceptionHttpFilter");
            contextData.Add("HttpActionContext", actionExecutedContext.ActionContext);

            actionExecutedContext.Exception.ToExceptionless(contextData, _client).Submit();
        }
示例#16
0
        private static Response OnError(NancyContext context, Exception exception)
        {
            var contextData = new ContextData();

            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod("NancyPipelineException");
            contextData.Add(NANCY_CONTEXT, context);

            exception.ToExceptionless(contextData).Submit();

            return(context.Response);
        }
        public virtual bool HandleError(Exception exception) {
            var contextData = new ContextData();
            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod("WCFServiceError");

            if (HttpContext.Current != null)
                contextData.Add("HttpContext", HttpContext.Current.ToWrapped());

            exception.ToExceptionless(contextData).Submit();

            return true;
        }
        public async Task Invoke(HttpContext context) {
            try {
                await _next(context);
            } catch (Exception ex) {
                var contextData = new ContextData();
                contextData.MarkAsUnhandledError();
                contextData.SetSubmissionMethod(nameof(ExceptionlessMiddleware));
                contextData.Add(nameof(HttpContext), context);

                ex.ToExceptionless(contextData, _client).Submit();
                throw;
            }
        }
        public async Task Invoke(HttpContext context)
        {
            try {
                await _next(context);
            } catch (Exception ex) {
                var contextData = new ContextData();
                contextData.MarkAsUnhandledError();
                contextData.SetSubmissionMethod(nameof(ExceptionlessMiddleware));
                contextData.Add(nameof(HttpContext), context);

                ex.ToExceptionless(contextData, _client).Submit();
                throw;
            }
        }
示例#20
0
        public virtual void OnHttpException(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
        {
            if (HasWrappedFilter)
            {
                WrappedFilter.ExecuteExceptionFilterAsync(actionExecutedContext, cancellationToken);
            }

            var contextData = new ContextData();

            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod("ExceptionHttpFilter");
            contextData.Add("HttpActionContext", actionExecutedContext.ActionContext);

            actionExecutedContext.Exception.ToExceptionless(contextData).Submit();
        }
        public virtual bool HandleError(Exception exception)
        {
            var contextData = new ContextData();

            contextData.MarkAsUnhandledError();
            contextData.SetSubmissionMethod("WCFServiceError");

            if (HttpContext.Current != null)
            {
                contextData.Add("HttpContext", HttpContext.Current.ToWrapped());
            }

            exception.ToExceptionless(contextData).Submit();

            return(true);
        }
示例#22
0
        private void OnNameListChanged()
        {
            CleanTemplateContextByValue(Constants.NameValueList);

            foreach (var entity in NameValueListEntities)
            {
                string key = String.Format(Constants.ListFormat, entity.Name);

                if (ContextData.Get(key) != null)
                {
                    ContextData.Remove(key);
                }

                ReadOnlyListEntities.Remove(entity);

                ContextData.Add(key, Constants.NameValueList);
            }
        }
        public async Task Invoke(HttpContext context)
        {
            try {
                await _next(context);
            } catch (Exception ex) {
                var contextData = new ContextData();
                contextData.MarkAsUnhandledError();
                contextData.SetSubmissionMethod(nameof(ExceptionlessMiddleware));
                contextData.Add(nameof(HttpContext), context);

                ex.ToExceptionless(contextData, _client).Submit();
                throw;
            }

            if (context.Response?.StatusCode == 404)
            {
                string path = context.Request.Path.HasValue ? context.Request.Path.Value : "/";
                _client.CreateNotFound(path).AddRequestInfo(context).Submit();
            }
        }
示例#24
0
        private void OnReadOnlyRootChanged()
        {
            CleanTemplateContextByValue(Constants.ReadOnlyRoot);

            foreach (var entity in ReadOnlyRootEntities)
            {
                string key = String.Format(Constants.ReadOnlyFormat, entity.EntityKeyName);

                if (ContextData.Get(key) != null)
                {
                    ContextData.Remove(key);
                }

                ReadOnlyChildEntities.Remove(entity);

                ContextData.Add(key, Constants.ReadOnlyRoot);

                if (State == TemplateState.RestoringProperties)
                {
                    continue;
                }

                //Many-To-One
                foreach (var childEntity in GetChildAssociations(entity.Associations))
                {
                    foreach (AssociationProperty property in childEntity.Properties)
                    {
                        AddChildEntity(property.Association.Entity, true, true);
                    }
                }

                //One-To-Many & Many-To-Many
                foreach (var childList in GetChildListAssociations(entity.Associations))
                {
                    foreach (AssociationProperty property in childList.Properties)
                    {
                        AddChildList(property.Association.Entity, true, true);
                    }
                }
            }
        }
示例#25
0
        private void OnSwitchableObjectChanged()
        {
            CleanTemplateContextByValue(Constants.SwitchableObject);

            foreach (var entity in SwitchableObjectEntities)
            {
                if (ContextData.Get(entity.EntityKeyName) != null)
                {
                    ContextData.Remove(entity.EntityKeyName);
                }

                DynamicRootEntities.Remove(entity);
                EditableChildEntities.Remove(entity);
                EditableRootEntities.Remove(entity);

                ContextData.Add(entity.EntityKeyName, Constants.SwitchableObject);

                if (State == TemplateState.RestoringProperties)
                {
                    continue;
                }

                //Many-To-One
                foreach (var childEntity in GetChildAssociations(entity.Associations))
                {
                    foreach (AssociationProperty property in childEntity.Properties)
                    {
                        AddChildEntity(property.Association.Entity, false, true);
                    }
                }

                //One-To-Many & Many-To-Many
                foreach (var childList in GetChildListAssociations(entity.Associations))
                {
                    foreach (AssociationProperty property in childList.Properties)
                    {
                        AddChildList(property.Association.Entity, false, true);
                    }
                }
            }
        }
示例#26
0
        protected void P_ErrorDataReceived(object sender, DataReceivedEventArgs e)
        {
            bool flag = e.Data != null;

            if (flag)
            {
                Data = e.Data;
                ContextData.Add(e.Data);
                bool flag2 = e.Data.IndexOf("configuration") != -1;
                if (flag2)
                {
                    try
                    {
                        Configuration = e.Data.Substring(e.Data.IndexOf("configuration") + 14);
                    }
                    catch
                    {
                    }
                }
                bool flag3 = e.Data.IndexOf("Duration") != -1;
                if (flag3)
                {
                    try
                    {
                        Duration = TimeSpan.Parse(e.Data.Substring(e.Data.IndexOf("Duration") + 10, 11));
                    }
                    catch
                    {
                    }
                }
                bool flag4 = e.Data.IndexOf("start") != -1;
                if (flag4)
                {
                    try
                    {
                        StartTime = e.Data.Substring(e.Data.IndexOf("start") + 7, 8);
                    }
                    catch
                    {
                    }
                }
                bool flag5 = e.Data.IndexOf("Duration") != -1 && e.Data.IndexOf("start") != -1;
                if (flag5)
                {
                    try
                    {
                        PrimaryBitrate = e.Data.Substring(e.Data.IndexOf("bitrate") + 8, e.Data.IndexOf("kb/s") - (e.Data.IndexOf("bitrate") + 8 - 4)).Trim().Replace(" ", "");
                    }
                    catch
                    {
                    }
                    try
                    {
                        PrimaryFileSize = ((double)(int.Parse(PrimaryBitrate.Substring(0, PrimaryBitrate.Length - 4)) / 1024) * Duration.TotalSeconds / 8.0).ToString() + "M";
                    }
                    catch
                    {
                    }
                }
                bool flag6 = e.Data.IndexOf("Stream") != -1 && e.Data.IndexOf("mapping") == -1 && e.Data.IndexOf("->") == -1;
                if (flag6)
                {
                    try
                    {
                        StreamInfo.Add(e.Data.Substring(e.Data.IndexOf("Stream") + 6));
                    }
                    catch
                    {
                    }
                    try
                    {
                        PrimaryFPS = double.Parse(e.Data.Substring(e.Data.IndexOf("fps") - 6, 5));
                    }
                    catch
                    {
                    }
                    try
                    {
                        bool flag7 = e.Data.IndexOf("Video") != -1;
                        if (flag7)
                        {
                            HasVideo = true;
                        }
                    }
                    catch
                    {
                    }
                    try
                    {
                        bool flag8 = e.Data.IndexOf("Audio") != -1;
                        if (flag8)
                        {
                            HasAudio = true;
                        }
                    }
                    catch
                    {
                    }
                }
                bool flag9 = e.Data.IndexOf("encoder") != -1;
                if (flag9)
                {
                    try
                    {
                        StreamEncoder.Add(e.Data.Substring(e.Data.IndexOf("encoder") + 18));
                    }
                    catch
                    {
                    }
                }
                bool flag10 = e.Data.IndexOf("->") != -1;
                if (flag10)
                {
                    try
                    {
                        StreamMapping.Add(e.Data);
                    }
                    catch
                    {
                    }
                }
                bool flag11 = e.Data.IndexOf("frame") != -1 && e.Data.IndexOf("fps") != -1;
                if (flag11)
                {
                    try
                    {
                        Frame = Convert.ToInt32(e.Data.Substring(e.Data.IndexOf("frame") + 6, e.Data.IndexOf("fps") - (e.Data.IndexOf("frame") + 6)).Trim());
                    }
                    catch
                    {
                    }
                }
                bool flag12 = e.Data.IndexOf("fps") != -1 && e.Data.IndexOf("q") != -1;
                if (flag12)
                {
                    try
                    {
                        FPS = Convert.ToInt32(e.Data.Substring(e.Data.IndexOf("fps") + 4, e.Data.IndexOf("q") - (e.Data.IndexOf("fps") + 4)).Trim());
                    }
                    catch
                    {
                    }
                }
                bool flag13 = e.Data.IndexOf("q") != -1 && e.Data.IndexOf("size") != -1;
                if (flag13)
                {
                    try
                    {
                        Quality = Convert.ToInt32(e.Data.Substring(e.Data.IndexOf("q") + 2, e.Data.IndexOf("size") - (e.Data.IndexOf("q") + 5)).Trim());
                    }
                    catch
                    {
                    }
                }
                bool flag14 = e.Data.IndexOf("size") != -1 && e.Data.IndexOf("time") != -1;
                if (flag14)
                {
                    try
                    {
                        CompiledSize = e.Data.Substring(e.Data.IndexOf("size") + 5, e.Data.IndexOf("time") - (e.Data.IndexOf("size") + 5)).Trim();
                    }
                    catch
                    {
                    }
                }
                bool flag15 = e.Data.IndexOf("time") != -1 && e.Data.IndexOf("bitrate") != -1;
                if (flag15)
                {
                    try
                    {
                        CompiledTime = TimeSpan.Parse(e.Data.Substring(e.Data.IndexOf("time") + 5, e.Data.IndexOf("bitrate") - (e.Data.IndexOf("time") + 5)).Trim());
                    }
                    catch
                    {
                    }
                }
                bool flag16 = e.Data.IndexOf("bitrate") != -1 && e.Data.IndexOf("speed") != -1;
                if (flag16)
                {
                    try
                    {
                        Bitrate = e.Data.Substring(e.Data.IndexOf("bitrate") + 8, Data.IndexOf("speed") - (e.Data.IndexOf("bitrate") + 8)).Trim();
                    }
                    catch
                    {
                    }
                }
                bool flag17 = e.Data.IndexOf("speed") != -1;
                if (flag17)
                {
                    try
                    {
                        Speed = e.Data.Substring(e.Data.IndexOf("speed") + 6).Trim();
                    }
                    catch
                    {
                    }
                }
                bool flag18 = Speed != "" && Speed != "0.00x" && Duration != TimeSpan.Zero && CompiledTime != TimeSpan.Zero;
                if (flag18)
                {
                    try
                    {
                        ForecastTime = TimeSpan.FromSeconds((Duration.TotalSeconds - CompiledTime.TotalSeconds) / double.Parse(Speed.Replace("x", "")));
                    }
                    catch
                    {
                    }
                }
                else
                {
                    ForecastTime = TimeSpan.Zero;
                }
            }
        }
        public static void RegisterHttpApplicationErrorHandler(this ExceptionlessClient client, HttpApplication app) {
            if (client == null)
                throw new ArgumentNullException(nameof(client));

            if (_onHttpApplicationError == null)
                _onHttpApplicationError = (sender, args) => {
                    if (HttpContext.Current == null)
                        return;

                    Exception exception = HttpContext.Current.Server.GetLastError();
                    if (exception == null)
                        return;

                    var contextData = new ContextData();
                    contextData.MarkAsUnhandledError();
                    contextData.SetSubmissionMethod("HttpApplicationError");
                    contextData.Add("HttpContext", HttpContext.Current.ToWrapped());

                    exception.ToExceptionless(contextData, client).Submit();
                };

            try {
                app.Error -= _onHttpApplicationError;
                app.Error += _onHttpApplicationError;
            } catch (Exception ex) {
                client.Configuration.Resolver.GetLog().Error(typeof(ExceptionlessClientExtensions), ex, "An error occurred while wiring up to the unobserved task exception event.");
            }
        }