Ver Fonte

默认udp日志端口

陈国伟 há 3 anos atrás
pai
commit
3123c29c4d

+ 0 - 9
FastGithub.UI/App.xaml

@@ -1,9 +0,0 @@
-<Application x:Class="FastGithub.UI.App"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:local="clr-namespace:FastGithub.UI"
-             StartupUri="MainWindow.xaml">
-    <Application.Resources>
-         
-    </Application.Resources>
-</Application>

+ 9 - 0
FastGithub.UI/FastGithub.UI.csproj

@@ -11,6 +11,7 @@
 		<ApplicationManifest>app.manifest</ApplicationManifest>
 		<ApplicationManifest>app.manifest</ApplicationManifest>
 		<PackageLicenseExpression>MIT</PackageLicenseExpression>
 		<PackageLicenseExpression>MIT</PackageLicenseExpression>
 		<AutoGenerateBindingRedirects>False</AutoGenerateBindingRedirects>
 		<AutoGenerateBindingRedirects>False</AutoGenerateBindingRedirects>
+		<StartupObject></StartupObject>
 	</PropertyGroup>
 	</PropertyGroup>
 
 
 	<ItemGroup>
 	<ItemGroup>
@@ -18,6 +19,14 @@
 		<Resource Include="Resource\*.*" />
 		<Resource Include="Resource\*.*" />
 	</ItemGroup>
 	</ItemGroup>
 
 
+	<ItemGroup>
+	  <Compile Remove="App.xaml.cs" />
+	</ItemGroup>
+
+	<ItemGroup>
+	  <Page Remove="App.xaml" />
+	</ItemGroup>
+
 	<ItemGroup>
 	<ItemGroup>
 		<Reference Include="System.Net.Http" />
 		<Reference Include="System.Net.Http" />
 	</ItemGroup>
 	</ItemGroup>

+ 16 - 41
FastGithub.UI/App.xaml.cs → FastGithub.UI/Program.cs

@@ -8,18 +8,24 @@ using System.Windows;
 
 
 namespace FastGithub.UI
 namespace FastGithub.UI
 {
 {
-    /// <summary>
-    /// App.xaml 的交互逻辑
-    /// </summary>
-    public partial class App : Application
+    class Program
     {
     {
-        private readonly Mutex globalMutex;
-        private readonly bool isFirstInstance;
-
-        public App()
+        [STAThread]
+        static void Main(string[] args)
         {
         {
-            this.globalMutex = new Mutex(true, "Global\\FastGithub.UI", out this.isFirstInstance);
             AppDomain.CurrentDomain.AssemblyResolve += OnAssemblyResolve;
             AppDomain.CurrentDomain.AssemblyResolve += OnAssemblyResolve;
+            using var mutex = new Mutex(true, "Global\\FastGithub.UI", out var isFirstInstance);
+            if (isFirstInstance == false)
+            {
+                return;
+            }
+
+            StartFastGithub();
+            SetWebBrowserVersion(9000);
+
+            var app = new Application();
+            app.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative);
+            app.Run();
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -36,33 +42,12 @@ namespace FastGithub.UI
                 return default;
                 return default;
             }
             }
 
 
-            var stream = GetResourceStream(new Uri($"Resource/{name}.dll", UriKind.Relative)).Stream;
+            var stream = Application.GetResourceStream(new Uri($"Resource/{name}.dll", UriKind.Relative)).Stream;
             var buffer = new byte[stream.Length];
             var buffer = new byte[stream.Length];
             stream.Read(buffer, 0, buffer.Length);
             stream.Read(buffer, 0, buffer.Length);
             return Assembly.Load(buffer);
             return Assembly.Load(buffer);
         }
         }
 
 
-
-        /// <summary>
-        /// 程序启动
-        /// </summary>
-        /// <param name="e"></param>
-        protected override void OnStartup(StartupEventArgs e)
-        {
-            if (this.isFirstInstance == false)
-            {
-                this.Shutdown();
-            }
-            else
-            {               
-                StartFastGithub(); 
-                SetWebBrowserVersion(9000);
-            }
-
-            base.OnStartup(e);
-        }
-
-
         /// <summary>
         /// <summary>
         /// 设置浏览器版本
         /// 设置浏览器版本
         /// </summary>
         /// </summary>
@@ -95,15 +80,5 @@ namespace FastGithub.UI
             };
             };
             Process.Start(startInfo);
             Process.Start(startInfo);
         }
         }
-
-        /// <summary>
-        /// 程序退出
-        /// </summary>
-        /// <param name="e"></param>
-        protected override void OnExit(ExitEventArgs e)
-        {
-            this.globalMutex.Dispose();
-            base.OnExit(e);
-        }
     }
     }
 }
 }

+ 1 - 1
FastGithub/FastGithub.csproj

@@ -18,7 +18,7 @@
 	</ItemGroup>
 	</ItemGroup>
 
 
 	<ItemGroup>
 	<ItemGroup>
-		<PackageReference Include="Serilog.AspNetCore" Version="4.1.0" />
+    <PackageReference Include="Serilog.Extensions.Hosting" Version="4.1.2" />
 		<PackageReference Include="Serilog.Sinks.Console" Version="4.0.0" />
 		<PackageReference Include="Serilog.Sinks.Console" Version="4.0.0" />
 		<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
 		<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
 		<PackageReference Include="Serilog.Settings.Configuration" Version="3.2.0" />
 		<PackageReference Include="Serilog.Settings.Configuration" Version="3.2.0" />

+ 12 - 15
FastGithub/Program.cs

@@ -46,6 +46,18 @@ namespace FastGithub
                         }
                         }
                     }
                     }
                 })
                 })
+                .UseSerilog((hosting, logger) =>
+                {
+                    var template = "{Timestamp:O} [{Level:u3}]{NewLine}{SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}";
+                    logger
+                        .ReadFrom.Configuration(hosting.Configuration)
+                        .Enrich.FromLogContext()
+                        .WriteTo.Console(outputTemplate: template)
+                        .WriteTo.File(Path.Combine("logs", @"log.txt"), rollingInterval: RollingInterval.Day, outputTemplate: template);
+
+                    var udpLoggerPort = hosting.Configuration.GetValue(nameof(AppOptions.UdpLoggerPort), 38457);
+                    logger.WriteTo.UDPSink(IPAddress.Loopback, udpLoggerPort);
+                })
                 .ConfigureWebHostDefaults(webBuilder =>
                 .ConfigureWebHostDefaults(webBuilder =>
                 {
                 {
                     webBuilder.UseStartup<Startup>();
                     webBuilder.UseStartup<Startup>();
@@ -65,21 +77,6 @@ namespace FastGithub
                             kestrel.ListenHttpProxy();
                             kestrel.ListenHttpProxy();
                         }
                         }
                     });
                     });
-                    webBuilder.UseSerilog((hosting, logger) =>
-                    {
-                        var template = "{Timestamp:O} [{Level:u3}]{NewLine}{SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}";
-                        logger
-                            .ReadFrom.Configuration(hosting.Configuration)
-                            .Enrich.FromLogContext()
-                            .WriteTo.Console(outputTemplate: template)
-                            .WriteTo.File(Path.Combine("logs", @"log.txt"), rollingInterval: RollingInterval.Day, outputTemplate: template);
-
-                        var udpLoggerPort = hosting.Configuration.GetValue(nameof(AppOptions.UdpLoggerPort), 0);
-                        if (udpLoggerPort > 0)
-                        {
-                            logger.WriteTo.UDPSink(IPAddress.Loopback, udpLoggerPort);
-                        }
-                    });
                 });
                 });
         }
         }
     }
     }