예제 #1
0
 void eCX()
 {
     System.Web.Security.MembershipPasswordException qTY = new System.Web.Security.MembershipPasswordException();
     System.Exception tOOK = new System.Exception();
     System.Threading.SynchronizationContext            MaH     = new System.Threading.SynchronizationContext();
     System.Web.UI.WebControls.WebParts.PageCatalogPart ayRmRe  = new System.Web.UI.WebControls.WebParts.PageCatalogPart();
     System.Web.Security.DefaultAuthenticationModule    Exmkenb = new System.Web.Security.DefaultAuthenticationModule();
     System.Web.SessionState.SessionStateModule         TmbqbT  = new System.Web.SessionState.SessionStateModule();
     System.ResolveEventArgs cGQ = new System.ResolveEventArgs("oYfQTFJiOZSVw");
     System.Web.UI.ControlValuePropertyAttribute LIX = new System.Web.UI.ControlValuePropertyAttribute("zCbHRvFJUat", 910602186);
     System.Runtime.InteropServices.SetWin32ContextInIDispatchAttribute rfLFm = new System.Runtime.InteropServices.SetWin32ContextInIDispatchAttribute();
     System.Net.HttpListenerException                         tIez            = new System.Net.HttpListenerException(2135436060, "NJgG");
     System.WeakReference                                     mKrXQJ          = new System.WeakReference(1723804374);
     System.Web.Configuration.OutputCacheProfile              atJh            = new System.Web.Configuration.OutputCacheProfile("ArZxwFnPdDdni");
     System.ParamArrayAttribute                               TyUXndy         = new System.ParamArrayAttribute();
     System.Runtime.Serialization.OnDeserializingAttribute    lVgFArZ         = new System.Runtime.Serialization.OnDeserializingAttribute();
     System.Data.SqlTypes.TypeNumericSchemaImporterExtension  QbBDir          = new System.Data.SqlTypes.TypeNumericSchemaImporterExtension();
     System.Windows.Forms.ListViewGroup                       MvRc            = new System.Windows.Forms.ListViewGroup("ELItUnvMGVWDmEGD");
     System.ComponentModel.Design.CheckoutException           NwMcuF          = new System.ComponentModel.Design.CheckoutException("QdlJvFMgCKYGHpcTb");
     System.Globalization.RegionInfo                          tAChNgq         = new System.Globalization.RegionInfo(2015922813);
     System.Web.UI.WebControls.ValidationSummary              kcldBEv         = new System.Web.UI.WebControls.ValidationSummary();
     System.Windows.Forms.RelatedImageListAttribute           PFSRAV          = new System.Windows.Forms.RelatedImageListAttribute("ZtfKTawcAmWr");
     System.Web.UI.WebControls.TableSectionStyle              ehekxI          = new System.Web.UI.WebControls.TableSectionStyle();
     System.ComponentModel.ByteConverter                      oodnW           = new System.ComponentModel.ByteConverter();
     System.Web.UI.WebControls.DetailsViewPageEventArgs       NFia            = new System.Web.UI.WebControls.DetailsViewPageEventArgs(599344366);
     System.Runtime.Remoting.Metadata.W3cXsd2001.SoapNotation Savfrr          = new System.Runtime.Remoting.Metadata.W3cXsd2001.SoapNotation();
 }
예제 #2
0
 /// <summary>記錄錯誤事件</summary>
 /// <param name="logger">log4Net.ILog</param>
 /// <param name="sessionKey">關鍵索引鍵</param>
 /// <param name="ex">錯誤類別</param>
 /// <param name="sendMail">是否寄發信件</param>
 private static void LogException(ILog logger, string sessionKey, Exception ex, bool sendMail)
 {
     try
     {
         logger.ErrorFormat("[{0}]EX:Type:{1}", sessionKey, ex.GetType());
         if (ex.GetType().Equals(typeof(NullReferenceException)))
         {
             NullReferenceException ne = (NullReferenceException)ex;
             logger.ErrorFormat("[{0}]EX:Source:{1}", sessionKey, ne.Source);
             logger.ErrorFormat("[{0}]EX:TargetSite:{1}", sessionKey, ne.TargetSite.Name);
         }
         else if (ex.GetType().Equals(typeof(System.Net.Sockets.SocketException)))
         {
             System.Net.Sockets.SocketException se = (System.Net.Sockets.SocketException)ex;
             logger.ErrorFormat("[{0}]EX:ErrorCode:{1}", sessionKey, se.ErrorCode);
             logger.ErrorFormat("[{0}]EX:SocketErrorCode:{1}:{2}", sessionKey, se.SocketErrorCode, (int)se.SocketErrorCode);
             logger.ErrorFormat("[{0}]EX:NativeErrorCode:{1}", sessionKey, se.NativeErrorCode);
         }
         else if (ex.GetType().Equals(typeof(System.Net.HttpListenerException)))
         {
             System.Net.HttpListenerException se = (System.Net.HttpListenerException)ex;
             logger.ErrorFormat("[{0}]EX:ErrorCode:{1}", sessionKey, se.ErrorCode);
             logger.ErrorFormat("[{0}]EX:NativeErrorCode:{1}", sessionKey, se.NativeErrorCode);
         }
         else if (ex.GetType().Equals(typeof(System.Data.SqlClient.SqlException)))
         {
             System.Data.SqlClient.SqlException se = (System.Data.SqlClient.SqlException)ex;
             logger.ErrorFormat("[{0}]EX:Class:{1:X2}", sessionKey, se.Class);
             logger.ErrorFormat("[{0}]EX:Number:{1}", sessionKey, se.Number);
             logger.ErrorFormat("[{0}]EX:LineNumber:{1}", sessionKey, se.LineNumber);
             logger.ErrorFormat("[{0}]EX:ErrorCode:{1}", sessionKey, se.ErrorCode);
             logger.ErrorFormat("[{0}]EX:Errors:{1}", sessionKey, se.Errors);
         }
         logger.ErrorFormat("[{0}]EX:Message:{1}", sessionKey, ex.Message);
         logger.ErrorFormat("[{0}]EX:Source:{1}", sessionKey, ex.Source);
         logger.ErrorFormat("[{0}]EX:StackTrace:{1}", sessionKey, ex.StackTrace);
         foreach (System.Collections.DictionaryEntry de in ex.Data)
         {
             logger.ErrorFormat("[{0}]EX:Data:{1}:{2}", sessionKey, de.Key, de.Value);
         }
         if (ex.InnerException != null)
         {
             logger.ErrorFormat("[{0}]EX:InnerException", sessionKey);
             LogException(logger, sessionKey, ex.InnerException, false);
         }
         if (sendMail)
         {
             string content = GetExceptionLogString(sessionKey, ex);
             System.Threading.Tasks.Task.Factory.StartNew(() => SendMail("Exception Notice", content, false));
         }
     }
     catch (Exception nex)
     {
         logger.ErrorFormat("[LOG]EX:Type:{0}", nex.GetType());
         logger.ErrorFormat("[LOG]EX:Message:{0}", nex.Message);
         logger.ErrorFormat("[LOG]EX:Source:{0}", nex.Source);
         logger.ErrorFormat("[LOG]EX:StackTrace:{0}", nex.StackTrace);
     }
 }
예제 #3
0
        static unsafe void Main(string[] args)
        {
            int PORT = 8000;

            try
            {
                Console.Title = $"Node ({PORT})";
            }
            catch
            {
            }

            int?ExitCode = null;

            System.Console.CancelKeyPress += (sender, e) =>
            {
                e.Cancel = true;
            };

            Block block;

            Log($"Validating blockchain: {System.IO.Path.GetFileName(FILE)}\r\n");

            if (!Database.GetLatestBlock(FILE, &block))
            {
                block = Database.CreateBlock(0, Database.Genesis, Database.Seed.Next(), null);

                System.Diagnostics.Debug.Assert(Database.IsGenesis(&block));

                if (Database.AppendBlock(FILE, &block) <= 0)
                {
                    Error($"Could not create genesis block.");
                }
            }

            byte[] previous = null;

            Database.Map(FILE, (i) =>
            {
                Block *b = (Block *)i;

                fixed(byte *p = previous)
                {
                    if (!Database.IsValidBlock(b, p))
                    {
                        throw new System.IO.InvalidDataException();
                    }
                }

                previous = b->GetHash();
            });

            if (!Database.GetLatestBlock(FILE, &block))
            {
                Error($"Could not get latest block.");
            }

            Console.ForegroundColor = ConsoleColor.Green;

            Utils.Print(&block, System.Console.Out);

            Console.ResetColor();

            try
            {
                Log($"Starting a new node");

                Serv <App>(PORT);
            }
            catch (Exception e)
            {
                System.Net.HttpListenerException error = e as System.Net.HttpListenerException;

                if (error == null)
                {
                    error = e.InnerException as System.Net.HttpListenerException;
                }

                if (error != null && error.NativeErrorCode == 0x5)
                {
                    Error($"\r\n{error.Message}");

                    Yellow($"\r\nUse: netsh http add urlacl url = http://+:{PORT}/ user=everyone listen=yes");
                }
                else
                {
                    if (e.InnerException != null)
                    {
                        throw e.InnerException;
                    }

                    throw e;
                }
            }

            Log($"\r\nReady.\r\n");

            Yellow($"http://localhost:{PORT}");

            Log("\r\nPress any key to quit...\r\n");

            while (!ExitCode.HasValue)
            {
                ConsoleKeyInfo cki = System.Console.ReadKey(true);

                if (true || cki.Modifiers.HasFlag(ConsoleModifiers.Control) && cki.Key == ConsoleKey.C)
                {
                    ExitCode = 0;
                }
            }
        }