Compare commits
2 Commits
e6442fff9f
...
c831ad2ab9
Author | SHA1 | Date | |
---|---|---|---|
c831ad2ab9 | |||
38340090be |
4
.gitignore
vendored
4
.gitignore
vendored
@ -331,4 +331,6 @@ ASALocalRun/
|
|||||||
*.all
|
*.all
|
||||||
*.pcl
|
*.pcl
|
||||||
*.pdf
|
*.pdf
|
||||||
*.raw
|
*.raw
|
||||||
|
|
||||||
|
.vscode/.UserSecrets/secrets.json
|
||||||
|
4
.vscode/.UserSecrets/file-watcher.json
vendored
4
.vscode/.UserSecrets/file-watcher.json
vendored
@ -32,6 +32,10 @@
|
|||||||
"TNSX": "(description=(address_list=(address=(protocol=tcp)(host=fimesp-db.mes.infineon.com)(port=7002)))(connect_data=(sid=fimesp)))",
|
"TNSX": "(description=(address_list=(address=(protocol=tcp)(host=fimesp-db.mes.infineon.com)(port=7002)))(connect_data=(sid=fimesp)))",
|
||||||
"UserName": "edastag"
|
"UserName": "edastag"
|
||||||
},
|
},
|
||||||
|
"IsoConfiguration": {
|
||||||
|
"DestinationDirectory": "D:/EAF/drssdv702.eu.infineon.com-eafdev-DeliveredPackages-IFX.EAF Kernel SEMI/v2.57.0.0",
|
||||||
|
"SourceDirectory": "\\\\eafdev.drs.infineon.com\\eafdev\\DeliveredPackages\\IFX.EAF Kernel SEMI\\v2.57.0.0\\EAF v2.57.0.0 API\\complete_with_adaptations"
|
||||||
|
},
|
||||||
"MetrologyConfiguration": {
|
"MetrologyConfiguration": {
|
||||||
"DeleteOlderThanWeeks": 16,
|
"DeleteOlderThanWeeks": 16,
|
||||||
"DirectoriesBack": 2,
|
"DirectoriesBack": 2,
|
||||||
|
51
.vscode/.UserSecrets/secrets.json
vendored
51
.vscode/.UserSecrets/secrets.json
vendored
@ -1,51 +0,0 @@
|
|||||||
{
|
|
||||||
"_Application": "File-Watcher",
|
|
||||||
"_UserSecretsId": "6062c774-99a9-4f4a-b42d-a9cb7fcbd8be",
|
|
||||||
"BuildNumber": "1234",
|
|
||||||
"ConfigurationDirectoryNames": [
|
|
||||||
"Microsoft",
|
|
||||||
"UserSecrets",
|
|
||||||
"6062c774-99a9-4f4a-b42d-a9cb7fcbd8be"
|
|
||||||
],
|
|
||||||
"ConfigurationSpecialFolder": 26,
|
|
||||||
"ConfigurationFileName": "file-watcher.json",
|
|
||||||
"Company": "Infineon Technologies Americas Corp.",
|
|
||||||
"GitCommitSeven": "asdf",
|
|
||||||
"HelperX": "HelperTCP",
|
|
||||||
"HelperXX": "HelperNuget",
|
|
||||||
"HelperXXX": "HelperEAFLog",
|
|
||||||
"HelperXXXX": "HelperSerial",
|
|
||||||
"HelperXXXXX": "HelperCompass",
|
|
||||||
"Helper": "HelperStratus",
|
|
||||||
"HelperXXXXXXX": "HelperEventLog",
|
|
||||||
"HelperXXXXXXXX": "HelperInfinityQS",
|
|
||||||
"HelperXXXXXXXXX": "HelperWaferCounter",
|
|
||||||
"HelperXXXXXXXXXX": "HelperEAFProgramData",
|
|
||||||
"HelperXXXXXXXXXXX": "HelperMetrologyFiles",
|
|
||||||
"Logging:Console:FormatterName": "simple",
|
|
||||||
"Logging:Console:FormatterOptions:IncludeScopes": "True",
|
|
||||||
"Logging:Console:FormatterOptions:SingleLine": "True",
|
|
||||||
"Logging:Console:FormatterOptions:TimestampFormat": "HH:mm:ss ",
|
|
||||||
"Logging:Console:FormatterOptions:UseUtcTimestamp": "True",
|
|
||||||
"Logging:Console:LogLevel:Default": "Information",
|
|
||||||
"Logging:Console:LogLevel:Microsoft": "Warning",
|
|
||||||
"Logging:Console:LogLevel:Microsoft.Hosting.Lifetime": "Information",
|
|
||||||
"Logging:Debug:FormatterName": "simple",
|
|
||||||
"Logging:Debug:FormatterOptions:IncludeScopes": "True",
|
|
||||||
"Logging:Debug:FormatterOptions:SingleLine": "True",
|
|
||||||
"Logging:Debug:FormatterOptions:TimestampFormat": "HH:mm:ss ",
|
|
||||||
"Logging:Debug:FormatterOptions:UseUtcTimestamp": "True",
|
|
||||||
"Logging:Debug:LogLevel:Default": "Warning",
|
|
||||||
"Logging:Debug:LogLevel:Microsoft": "Information",
|
|
||||||
"Logging:Debug:LogLevel:Microsoft.Hosting.Lifetime": "Debug",
|
|
||||||
"Logging:EventLog:LogLevel:Default": "Warning",
|
|
||||||
"Logging:EventSource:LogLevel:Default": "Warning",
|
|
||||||
"Logging:LogLevel:Default": "Debug",
|
|
||||||
"Logging:LogLevel:Microsoft": "Information",
|
|
||||||
"Logging:LogLevel:Microsoft.Hosting.Lifetime": "Debug",
|
|
||||||
"MillisecondsDelay": 54000,
|
|
||||||
"URLs": "http://localhost:5003;",
|
|
||||||
"WatchDirectory": "D:/Tmp/Phares/Event-Log",
|
|
||||||
"WatchDirectoryXX": "D:/EAF/EAF Instances",
|
|
||||||
"WatchDirectoryXXX": "C:/software/WaferCounter/V203"
|
|
||||||
}
|
|
@ -10,34 +10,35 @@
|
|||||||
<UserSecretsId>6062c774-99a9-4f4a-b42d-a9cb7fcbd8be</UserSecretsId>
|
<UserSecretsId>6062c774-99a9-4f4a-b42d-a9cb7fcbd8be</UserSecretsId>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.7" />
|
<PackageReference Include="DiscUtils.Iso9660" Version="0.16.13" />
|
||||||
|
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.8" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
|
||||||
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="23.5.0" />
|
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="23.5.1" />
|
||||||
<PackageReference Include="runtime.win-x64.Microsoft.DotNet.ILCompiler" Version="8.0.7" />
|
<PackageReference Include="runtime.win-x64.Microsoft.DotNet.ILCompiler" Version="8.0.8" />
|
||||||
<PackageReference Include="System.IO.Ports" Version="8.0.0" />
|
<PackageReference Include="System.IO.Ports" Version="8.0.0" />
|
||||||
<PackageReference Include="System.Text.Json" Version="8.0.4" />
|
<PackageReference Include="System.Text.Json" Version="8.0.4" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Condition="'$(Configuration)' == 'Debug'" Include="\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL\gpcl6win64\gpcl6dll64.dll">
|
<None Condition="'$(Configuration)' == 'Debug'" Include="\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL\gpcl6win64\gpcl6dll64.dll">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Condition="'$(Configuration)' == 'Debug'" Include="\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL\gpcl6win64\gpcl6win64.exe">
|
<None Condition="'$(Configuration)' == 'Debug'" Include="\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL\gpcl6win64\gpcl6win64.exe">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Condition="'$(Configuration)' == 'Debug'" Include="\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\LincPDFC\v2.6.6.21\LincPDFC.exe">
|
<None Condition="'$(Configuration)' == 'Debug'" Include="\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\LincPDFC\v2.6.6.21\LincPDFC.exe">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Condition="'$(Configuration)' == 'Release'" Include="\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL\gpcl6win64\gpcl6dll64.dll">
|
<None Condition="'$(Configuration)' == 'Release'" Include="\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL\gpcl6win64\gpcl6dll64.dll">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Condition="'$(Configuration)' == 'Release'" Include="\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL\gpcl6win64\gpcl6win64.exe">
|
<None Condition="'$(Configuration)' == 'Release'" Include="\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL\gpcl6win64\gpcl6win64.exe">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Condition="'$(Configuration)' == 'Release'" Include="\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\LincPDFC\v2.6.6.21\LincPDFC.exe">
|
<None Condition="'$(Configuration)' == 'Release'" Include="\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\LincPDFC\v2.6.6.21\LincPDFC.exe">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
40
Helpers/HelperISO.cs
Normal file
40
Helpers/HelperISO.cs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
using DiscUtils.Iso9660;
|
||||||
|
using File_Watcher.Models;
|
||||||
|
|
||||||
|
namespace File_Watcher.Helpers;
|
||||||
|
|
||||||
|
internal static partial class HelperISO
|
||||||
|
{
|
||||||
|
|
||||||
|
private static void DirectoryToISO(ILogger<Worker> logger, string destinationDirectory, bool mapOnly, string directory)
|
||||||
|
{
|
||||||
|
byte[] bytes = [];
|
||||||
|
string relativePath;
|
||||||
|
string directoryName = Path.GetFileName(directory);
|
||||||
|
CDBuilder builder = new() { UseJoliet = true, VolumeIdentifier = directoryName.Length < 25 ? directoryName : directoryName[..25] };
|
||||||
|
IEnumerable<string> files = Directory.EnumerateFiles(directory, "*", new EnumerationOptions { IgnoreInaccessible = true, RecurseSubdirectories = true });
|
||||||
|
foreach (string file in files)
|
||||||
|
{
|
||||||
|
relativePath = Path.GetRelativePath(directory, file).Replace(';', '_');
|
||||||
|
if (!mapOnly)
|
||||||
|
_ = builder.AddFile(relativePath, file);
|
||||||
|
else
|
||||||
|
_ = builder.AddFile(relativePath, bytes);
|
||||||
|
}
|
||||||
|
logger.LogInformation(destinationDirectory);
|
||||||
|
builder.Build(Path.Combine(destinationDirectory, $"{directoryName}.iso"));
|
||||||
|
logger.LogInformation(directoryName);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static bool DirectoryToISO(AppSettings appSettings, ILogger<Worker> logger)
|
||||||
|
{
|
||||||
|
IsoConfiguration isoConfiguration = appSettings.IsoConfiguration;
|
||||||
|
logger.LogInformation(isoConfiguration.SourceDirectory);
|
||||||
|
bool mapOnly = isoConfiguration.SourceDirectory.Length == 2;
|
||||||
|
if (!Directory.Exists(isoConfiguration.DestinationDirectory))
|
||||||
|
_ = Directory.CreateDirectory(isoConfiguration.DestinationDirectory);
|
||||||
|
DirectoryToISO(logger, isoConfiguration.DestinationDirectory, mapOnly, isoConfiguration.SourceDirectory);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -3,13 +3,14 @@ using System.Text.Json.Serialization;
|
|||||||
|
|
||||||
namespace File_Watcher.Models;
|
namespace File_Watcher.Models;
|
||||||
|
|
||||||
public record AppSettings(EAFLogConfiguration EAFLogConfiguration,
|
public record AppSettings(CompassConfiguration CompassConfiguration,
|
||||||
|
DriveConfiguration DriveConfiguration,
|
||||||
|
EAFLogConfiguration EAFLogConfiguration,
|
||||||
EAFProgramDataConfiguration EAFProgramDataConfiguration,
|
EAFProgramDataConfiguration EAFProgramDataConfiguration,
|
||||||
EDADatabaseConfiguration EDADatabaseConfiguration,
|
EDADatabaseConfiguration EDADatabaseConfiguration,
|
||||||
CompassConfiguration CompassConfiguration,
|
IsoConfiguration IsoConfiguration,
|
||||||
DriveConfiguration DriveConfiguration,
|
|
||||||
NugetConfiguration NugetConfiguration,
|
|
||||||
MetrologyConfiguration MetrologyConfiguration,
|
MetrologyConfiguration MetrologyConfiguration,
|
||||||
|
NugetConfiguration NugetConfiguration,
|
||||||
SerialConfiguration SerialConfiguration,
|
SerialConfiguration SerialConfiguration,
|
||||||
StratusConfiguration StratusConfiguration,
|
StratusConfiguration StratusConfiguration,
|
||||||
TransmissionControlProtocolConfiguration TransmissionControlProtocolConfiguration,
|
TransmissionControlProtocolConfiguration TransmissionControlProtocolConfiguration,
|
||||||
|
@ -44,13 +44,14 @@ public class AppSettings
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static Models.AppSettings Get(AppSettings? appSettings,
|
private static Models.AppSettings Get(AppSettings? appSettings,
|
||||||
DriveConfiguration driveConfiguration,
|
|
||||||
CompassConfiguration compassConfiguration,
|
CompassConfiguration compassConfiguration,
|
||||||
|
DriveConfiguration driveConfiguration,
|
||||||
EAFLogConfiguration eafLogConfiguration,
|
EAFLogConfiguration eafLogConfiguration,
|
||||||
EAFProgramDataConfiguration eafProgramDataConfiguration,
|
EAFProgramDataConfiguration eafProgramDataConfiguration,
|
||||||
EDADatabaseConfiguration edaDatabaseConfiguration,
|
EDADatabaseConfiguration edaDatabaseConfiguration,
|
||||||
NugetConfiguration nugetConfiguration,
|
IsoConfiguration isoConfiguration,
|
||||||
MetrologyConfiguration metrologyConfiguration,
|
MetrologyConfiguration metrologyConfiguration,
|
||||||
|
NugetConfiguration nugetConfiguration,
|
||||||
SerialConfiguration serialConfiguration,
|
SerialConfiguration serialConfiguration,
|
||||||
StratusConfiguration stratusConfiguration,
|
StratusConfiguration stratusConfiguration,
|
||||||
TransmissionControlProtocolConfiguration transmissionControlProtocolConfiguration,
|
TransmissionControlProtocolConfiguration transmissionControlProtocolConfiguration,
|
||||||
@ -65,13 +66,14 @@ public class AppSettings
|
|||||||
if (appSettings.MillisecondsDelay is null) throw new NullReferenceException(nameof(MillisecondsDelay));
|
if (appSettings.MillisecondsDelay is null) throw new NullReferenceException(nameof(MillisecondsDelay));
|
||||||
if (appSettings.WatchDirectory is null) throw new NullReferenceException(nameof(WatchDirectory));
|
if (appSettings.WatchDirectory is null) throw new NullReferenceException(nameof(WatchDirectory));
|
||||||
Verify(appSettings);
|
Verify(appSettings);
|
||||||
result = new(eafLogConfiguration,
|
result = new(compassConfiguration,
|
||||||
|
driveConfiguration,
|
||||||
|
eafLogConfiguration,
|
||||||
eafProgramDataConfiguration,
|
eafProgramDataConfiguration,
|
||||||
edaDatabaseConfiguration,
|
edaDatabaseConfiguration,
|
||||||
compassConfiguration,
|
isoConfiguration,
|
||||||
driveConfiguration,
|
|
||||||
nugetConfiguration,
|
|
||||||
metrologyConfiguration,
|
metrologyConfiguration,
|
||||||
|
nugetConfiguration,
|
||||||
serialConfiguration,
|
serialConfiguration,
|
||||||
stratusConfiguration,
|
stratusConfiguration,
|
||||||
transmissionControlProtocolConfiguration,
|
transmissionControlProtocolConfiguration,
|
||||||
@ -110,13 +112,14 @@ public class AppSettings
|
|||||||
results = (string.IsNullOrEmpty(json) ? null : results = JsonSerializer.Deserialize(json, AppSettingsSourceGenerationContext.Default.AppSettings)) ??
|
results = (string.IsNullOrEmpty(json) ? null : results = JsonSerializer.Deserialize(json, AppSettingsSourceGenerationContext.Default.AppSettings)) ??
|
||||||
throw new NullReferenceException(nameof(Models.AppSettings));
|
throw new NullReferenceException(nameof(Models.AppSettings));
|
||||||
results = Get(appSettings,
|
results = Get(appSettings,
|
||||||
results.DriveConfiguration,
|
|
||||||
results.CompassConfiguration,
|
results.CompassConfiguration,
|
||||||
|
results.DriveConfiguration,
|
||||||
results.EAFLogConfiguration,
|
results.EAFLogConfiguration,
|
||||||
results.EAFProgramDataConfiguration,
|
results.EAFProgramDataConfiguration,
|
||||||
results.EDADatabaseConfiguration,
|
results.EDADatabaseConfiguration,
|
||||||
results.NugetConfiguration,
|
results.IsoConfiguration,
|
||||||
results.MetrologyConfiguration,
|
results.MetrologyConfiguration,
|
||||||
|
results.NugetConfiguration,
|
||||||
results.SerialConfiguration,
|
results.SerialConfiguration,
|
||||||
results.StratusConfiguration,
|
results.StratusConfiguration,
|
||||||
results.TransmissionControlProtocolConfiguration,
|
results.TransmissionControlProtocolConfiguration,
|
||||||
|
22
Models/IsoConfiguration.cs
Normal file
22
Models/IsoConfiguration.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System.Text.Json;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace File_Watcher.Models;
|
||||||
|
|
||||||
|
public record IsoConfiguration(string DestinationDirectory,
|
||||||
|
string SourceDirectory)
|
||||||
|
{
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
string result = JsonSerializer.Serialize(this, IsoConfigurationSourceGenerationContext.Default.IsoConfiguration);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
[JsonSourceGenerationOptions(WriteIndented = true)]
|
||||||
|
[JsonSerializable(typeof(IsoConfiguration))]
|
||||||
|
internal partial class IsoConfigurationSourceGenerationContext : JsonSerializerContext
|
||||||
|
{
|
||||||
|
}
|
@ -33,6 +33,7 @@ public partial class Worker : BackgroundService
|
|||||||
{
|
{
|
||||||
nameof(Helpers.HelperNuget) => Helpers.HelperNuget.Sync(_AppSettings, _Logger),
|
nameof(Helpers.HelperNuget) => Helpers.HelperNuget.Sync(_AppSettings, _Logger),
|
||||||
nameof(Helpers.HelperTCP) => Helpers.HelperTCP.ReadWrite(_AppSettings, _Logger),
|
nameof(Helpers.HelperTCP) => Helpers.HelperTCP.ReadWrite(_AppSettings, _Logger),
|
||||||
|
nameof(Helpers.HelperISO) => Helpers.HelperISO.DirectoryToISO(_AppSettings, _Logger),
|
||||||
nameof(Helpers.HelperCompass) => Helpers.HelperCompass.CopyFile(_AppSettings, _Logger),
|
nameof(Helpers.HelperCompass) => Helpers.HelperCompass.CopyFile(_AppSettings, _Logger),
|
||||||
nameof(Helpers.HelperStratus) => Helpers.HelperStratus.MoveFile(_AppSettings, _Logger),
|
nameof(Helpers.HelperStratus) => Helpers.HelperStratus.MoveFile(_AppSettings, _Logger),
|
||||||
nameof(Helpers.HelperEAFLog) => Helpers.HelperEAFLog.DeleteFiles(_AppSettings, _Logger),
|
nameof(Helpers.HelperEAFLog) => Helpers.HelperEAFLog.DeleteFiles(_AppSettings, _Logger),
|
||||||
@ -52,7 +53,10 @@ public partial class Worker : BackgroundService
|
|||||||
private async Task Body(CancellationToken cancellationToken)
|
private async Task Body(CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
if (!_IsWindowsService)
|
if (!_IsWindowsService)
|
||||||
|
{
|
||||||
|
_Logger.LogInformation("Set break point and skip to run {_AppSettings.Helper}!", _AppSettings.Helper);
|
||||||
throw new EvaluateException($"Set break point and skip to run {_AppSettings.Helper}!");
|
throw new EvaluateException($"Set break point and skip to run {_AppSettings.Helper}!");
|
||||||
|
}
|
||||||
if (!_IsWindowsService)
|
if (!_IsWindowsService)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < int.MaxValue; i++)
|
for (int i = 0; i < int.MaxValue; i++)
|
||||||
|
Reference in New Issue
Block a user