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(); }
/// <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); } }
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; } } }