Esempio n. 1
0
        public static bool Add(IMiddleware MiddleWare, string Name, MiddlewarePriority Priority = MiddlewarePriority.Normal)
        {
            string name = Name == null?MiddleWare.GetType().Name : Name;

            try
            {
                MiddleWare.Attach(Language);
                if (!Middlewares.ContainsKey(Priority))
                {
                    Middlewares.Add(Priority, new List <IMiddleware>());
                }
                Middlewares[Priority].Add(MiddleWare);

                Adding?.Invoke(string.Format("[{0}] MiddleWare: {{ {1} ({2}) }}, Priority={3} }}", Language["STR_SUCCESS"], name, MiddleWare.GetType().Name, Priority), null);
                return(true);
            }
            catch (Exception ex)
            {
                Adding?.Invoke(string.Format("[{0}] MiddleWare: {{ {1} ({2}) }}, Priority={3} }} ({4})", Language["STR_ERROR"], name, MiddleWare.GetType().Name, Priority, ex.Message), null);
                return(false);
            }
        }