调整文件路径

This commit is contained in:
zpc 2024-06-11 18:57:50 +08:00
parent 64c4ed3248
commit 1f6407c515
17 changed files with 111 additions and 157 deletions

View File

@ -1,9 +0,0 @@
using System;
namespace ClassLibrary1
{
public class Class1
{
}
}

View File

@ -1,8 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -1,122 +0,0 @@
namespace HuanMeng.DotNetCore.Processors
{
/// <summary>
/// 包含处理线程的Processor
/// </summary>
public abstract class ThreadProcessor : BaseProcessor
{
/// <summary>
/// 处理线程
/// </summary>
protected Thread? _thread = null;
/// <summary>
/// 是否运行处理器
/// </summary>
protected bool _isRunProc = true;
/// <summary>
/// 构造函数
/// </summary>
public ThreadProcessor()
{
}
/// <summary>
/// 执行处理
/// </summary>
public override void Run()
{
try
{
_isRunProc = true;
_thread = new Thread(new ThreadStart(Proc_Do));
_thread.Start();
// LogHelper.Info($"ThreadProcessor.Run已执行");
}
catch (Exception ex)
{
// LogHelper.Error($"ThreadProcessor.Run,error", ex);
}
}
/// <summary>
/// 线程处理函数
/// </summary>
protected abstract void Proc_Do();
//{
// LogHelper.Info($"ThreadProcessor.Proc_Do已执行");
// ////demo
// ////处理流程
// //while (_isRunProc)
// //{
// // try
// // {
// // //DoProeess();
// // //简单示例Sleep
// // Thread.Sleep(10000);
// // }
// // catch (Exception ex)
// // {
// // LogHelper.Error("ThreadProcessor.Proc_Do,DoProeess异常", ex);
// // }
// //}
//}
//demo
///// <summary>
///// 执行流程处理
///// </summary>
//protected virtual void DoProeess()
//{
// //简单示例
// try
// {
// //简单示例Sleep
// Thread.Sleep(10000);
// }
// catch (Exception ex)
// {
// LogHelper.Error("ThreadProcessor.Proc_Do,异常", ex);
// }
//}
/// <summary>
/// 停止处理线程
/// </summary>
public override void Stop()
{
//加快停止服务的速度,可以用任务执行,不等待结束
//Task.Run(() =>
//{
_isRunProc = false;
//等待完成停止
if (_thread != null && _thread.IsAlive)
{
_thread.Join(WaitTimeMax_StopProc); //等待线程结束
_thread = null;
}
// LogHelper.Info($"ThreadProcessor.Stop已执行");
//});
}
/// <summary>
/// Dispose
/// </summary>
public override void Dispose()
{
//停止处理线程
_isRunProc = false;
this.Stop();
base.Dispose();
}
}
}

View File

@ -1,8 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -3,9 +3,21 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.10.34916.146
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HuanMeng.Model", "HuanMeng.Model\HuanMeng.Model.csproj", "{96AA1BD6-E279-4DEA-90C1-6124710E480F}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HuanMeng.DotNetCore", "HuanMeng.DotNetCore\HuanMeng.DotNetCore.csproj", "{CCE9E3F9-75DF-4422-A5FD-6B8DBA21B03F}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0-core", "0-core", "{DD14191F-22CE-48D8-A944-B8A41C97ACD4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1-service", "1-service", "{868BF208-7222-482B-B331-1A8482532F1B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2-api", "2-api", "{0C0B6EB5-E41D-46D9-9F60-90D320A2EEF3}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3-client", "3-client", "{23416FDA-19AE-487D-BCAA-5A9D04746500}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "5-console", "5-console", "{F34C5BC4-8810-4D6A-B003-AFE12D7ED4BA}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "9-test", "9-test", "{8D39E84B-2810-41D7-AFE6-0A58E09E34C3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HuanMeng.DotNetCore", "src\0-core\HuanMeng.DotNetCore\HuanMeng.DotNetCore.csproj", "{B9014C9B-B47D-4900-9EA7-4FE8998C30BE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -13,18 +25,23 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{96AA1BD6-E279-4DEA-90C1-6124710E480F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{96AA1BD6-E279-4DEA-90C1-6124710E480F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96AA1BD6-E279-4DEA-90C1-6124710E480F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{96AA1BD6-E279-4DEA-90C1-6124710E480F}.Release|Any CPU.Build.0 = Release|Any CPU
{CCE9E3F9-75DF-4422-A5FD-6B8DBA21B03F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CCE9E3F9-75DF-4422-A5FD-6B8DBA21B03F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CCE9E3F9-75DF-4422-A5FD-6B8DBA21B03F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CCE9E3F9-75DF-4422-A5FD-6B8DBA21B03F}.Release|Any CPU.Build.0 = Release|Any CPU
{B9014C9B-B47D-4900-9EA7-4FE8998C30BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9014C9B-B47D-4900-9EA7-4FE8998C30BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9014C9B-B47D-4900-9EA7-4FE8998C30BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9014C9B-B47D-4900-9EA7-4FE8998C30BE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{DD14191F-22CE-48D8-A944-B8A41C97ACD4} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
{868BF208-7222-482B-B331-1A8482532F1B} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
{0C0B6EB5-E41D-46D9-9F60-90D320A2EEF3} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
{23416FDA-19AE-487D-BCAA-5A9D04746500} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
{F34C5BC4-8810-4D6A-B003-AFE12D7ED4BA} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
{8D39E84B-2810-41D7-AFE6-0A58E09E34C3} = {443B77DF-BB15-4DF7-8F45-C54FE6F51AB9}
{B9014C9B-B47D-4900-9EA7-4FE8998C30BE} = {DD14191F-22CE-48D8-A944-B8A41C97ACD4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4A1DC406-AFAA-4884-859C-51B9B26E37FC}
EndGlobalSection

View File

@ -1,5 +1,6 @@
using System.Runtime.Serialization;
using XLib.DotNetCore.Base;
namespace HuanMeng.DotNetCore.Base

View File

@ -1,6 +1,8 @@
using HuanMeng.DotNetCore.Base;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;

View File

@ -0,0 +1,81 @@
namespace HuanMeng.DotNetCore.Processors
{
/// <summary>
/// 包含处理线程的处理器基类
/// </summary>
public abstract class ThreadProcessor : BaseProcessor
{
protected Thread? _thread;
protected bool _isRunning;
protected string? _threadName;
/// <summary>
/// 构造函数
/// </summary>
public ThreadProcessor() { }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="threadName">线程名称</param>
public ThreadProcessor(string threadName)
{
_threadName = threadName;
}
/// <summary>
/// 执行处理
/// </summary>
/// <exception cref="InvalidOperationException">如果处理器已经在运行,抛出异常</exception>
public override void Run()
{
if (_isRunning)
{
throw new InvalidOperationException("重复执行线程");
}
_isRunning = true;
_thread = new Thread(Proc_Do)
{
Name = _threadName
};
_thread.Start();
}
/// <summary>
/// 线程处理函数,需要在子类中实现
/// </summary>
protected abstract void Proc_Do();
/// <summary>
/// 停止处理线程
/// </summary>
public override void Stop()
{
if (!_isRunning)
{
return;
}
_isRunning = false;
if (_thread != null && _thread.IsAlive)
{
_thread.Join(WaitTimeMax_StopProc); // 等待线程结束
_thread = null;
}
}
/// <summary>
/// 释放资源
/// </summary>
public override void Dispose()
{
Stop();
base.Dispose();
}
}
}