集成websocket
This commit is contained in:
parent
70cba4a6d8
commit
a266148661
|
@ -0,0 +1,30 @@
|
||||||
|
**/.classpath
|
||||||
|
**/.dockerignore
|
||||||
|
**/.env
|
||||||
|
**/.git
|
||||||
|
**/.gitignore
|
||||||
|
**/.project
|
||||||
|
**/.settings
|
||||||
|
**/.toolstarget
|
||||||
|
**/.vs
|
||||||
|
**/.vscode
|
||||||
|
**/*.*proj.user
|
||||||
|
**/*.dbmdl
|
||||||
|
**/*.jfm
|
||||||
|
**/azds.yaml
|
||||||
|
**/bin
|
||||||
|
**/charts
|
||||||
|
**/docker-compose*
|
||||||
|
**/Dockerfile*
|
||||||
|
**/node_modules
|
||||||
|
**/npm-debug.log
|
||||||
|
**/obj
|
||||||
|
**/secrets.dev.yaml
|
||||||
|
**/values.dev.yaml
|
||||||
|
LICENSE
|
||||||
|
README.md
|
||||||
|
!**/.gitignore
|
||||||
|
!.git/HEAD
|
||||||
|
!.git/config
|
||||||
|
!.git/packed-refs
|
||||||
|
!.git/refs/heads/**
|
|
@ -0,0 +1 @@
|
||||||
|
.vs/
|
|
@ -0,0 +1,27 @@
|
||||||
|
# 请参阅 https://aka.ms/customizecontainer 以了解如何自定义调试容器,以及 Visual Studio 如何使用此 Dockerfile 生成映像以更快地进行调试。
|
||||||
|
|
||||||
|
# 此阶段用于在快速模式(默认为调试配置)下从 VS 运行时
|
||||||
|
FROM mcr.microsoft.com/dotnet/runtime:6.0 AS base
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
|
||||||
|
# 此阶段用于生成服务项目
|
||||||
|
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
|
||||||
|
ARG BUILD_CONFIGURATION=Release
|
||||||
|
WORKDIR /src
|
||||||
|
COPY ["WebSocketServerDemo/WebSocketServerDemo.csproj", "WebSocketServerDemo/"]
|
||||||
|
RUN dotnet restore "./WebSocketServerDemo/WebSocketServerDemo.csproj"
|
||||||
|
COPY . .
|
||||||
|
WORKDIR "/src/WebSocketServerDemo"
|
||||||
|
RUN dotnet build "./WebSocketServerDemo.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
||||||
|
|
||||||
|
# 此阶段用于发布要复制到最终阶段的服务项目
|
||||||
|
FROM build AS publish
|
||||||
|
ARG BUILD_CONFIGURATION=Release
|
||||||
|
RUN dotnet publish "./WebSocketServerDemo.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||||
|
|
||||||
|
# 此阶段在生产中使用,或在常规模式下从 VS 运行时使用(在不使用调试配置时为默认值)
|
||||||
|
FROM base AS final
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=publish /app/publish .
|
||||||
|
ENTRYPOINT ["dotnet", "WebSocketServerDemo.dll"]
|
|
@ -0,0 +1,88 @@
|
||||||
|
using TouchSocket.Core;
|
||||||
|
using TouchSocket.Http;
|
||||||
|
using TouchSocket.Http.WebSockets;
|
||||||
|
using TouchSocket.Sockets;
|
||||||
|
|
||||||
|
var service = new HttpService();
|
||||||
|
await service.SetupAsync(new TouchSocketConfig()//加载配置
|
||||||
|
.SetListenIPHosts(7789)
|
||||||
|
.ConfigureContainer(a =>
|
||||||
|
{
|
||||||
|
a.AddConsoleLogger();
|
||||||
|
})
|
||||||
|
.ConfigurePlugins(a =>
|
||||||
|
{
|
||||||
|
a.UseWebSocket()//添加WebSocket功能
|
||||||
|
.SetWSUrl("/ws")//设置url直接可以连接。
|
||||||
|
.UseAutoPong();//当收到ping报文时自动回应pong
|
||||||
|
a.Add<MyReadWebSocketPlugin>();
|
||||||
|
}));
|
||||||
|
|
||||||
|
await service.StartAsync();
|
||||||
|
service.Logger.Info("websocket服务器已启动");
|
||||||
|
Console.ReadLine();
|
||||||
|
|
||||||
|
|
||||||
|
class MyReadWebSocketPlugin : PluginBase, IWebSocketReceivedPlugin, IWebSocketHandshakedPlugin
|
||||||
|
{
|
||||||
|
private readonly ILog m_logger;
|
||||||
|
|
||||||
|
public MyReadWebSocketPlugin(ILog logger)
|
||||||
|
{
|
||||||
|
this.m_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task OnWebSocketHandshaked(IWebSocket client, HttpContextEventArgs e)
|
||||||
|
{
|
||||||
|
await e.InvokeNext();
|
||||||
|
if (client.Client is IHttpSessionClient httpSessionClient)
|
||||||
|
{
|
||||||
|
var serviceStr = httpSessionClient.Id;
|
||||||
|
await client.SendAsync(serviceStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task OnWebSocketReceived(IWebSocket client, WSDataFrameEventArgs e)
|
||||||
|
{
|
||||||
|
switch (e.DataFrame.Opcode)
|
||||||
|
{
|
||||||
|
case WSDataType.Cont:
|
||||||
|
m_logger.Info($"收到中间数据,长度为:{e.DataFrame.PayloadLength}");
|
||||||
|
return;
|
||||||
|
|
||||||
|
case WSDataType.Text:
|
||||||
|
m_logger.Info(e.DataFrame.ToText());
|
||||||
|
return;
|
||||||
|
|
||||||
|
case WSDataType.Binary:
|
||||||
|
if (e.DataFrame.FIN)
|
||||||
|
{
|
||||||
|
m_logger.Info($"收到二进制数据,长度为:{e.DataFrame.PayloadLength}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_logger.Info($"收到未结束的二进制数据,长度为:{e.DataFrame.PayloadLength}");
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
|
||||||
|
case WSDataType.Close:
|
||||||
|
{
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
|
||||||
|
case WSDataType.Ping:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WSDataType.Pong:
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
await e.InvokeNext();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"profiles": {
|
||||||
|
"WebSocketServerDemo": {
|
||||||
|
"commandName": "Project"
|
||||||
|
},
|
||||||
|
"Container (Dockerfile)": {
|
||||||
|
"commandName": "Docker"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" />
|
||||||
|
<PackageReference Include="TouchSocket.Http" Version="3.0.14" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ActiveDebugProfile>WebSocketServerDemo</ActiveDebugProfile>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,191 @@
|
||||||
|
{
|
||||||
|
"runtimeTarget": {
|
||||||
|
"name": ".NETCoreApp,Version=v6.0",
|
||||||
|
"signature": ""
|
||||||
|
},
|
||||||
|
"compilationOptions": {},
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v6.0": {
|
||||||
|
"WebSocketServerDemo/1.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets": "1.21.0",
|
||||||
|
"TouchSocket.Http": "3.0.14"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"WebSocketServerDemo.dll": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.21.0": {},
|
||||||
|
"Newtonsoft.Json/13.0.3": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Newtonsoft.Json.dll": {
|
||||||
|
"assemblyVersion": "13.0.0.0",
|
||||||
|
"fileVersion": "13.0.3.27908"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Memory/4.5.5": {},
|
||||||
|
"System.Runtime.CompilerServices.Unsafe/6.0.0": {},
|
||||||
|
"System.Text.Encodings.Web/8.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/System.Text.Encodings.Web.dll": {
|
||||||
|
"assemblyVersion": "8.0.0.0",
|
||||||
|
"fileVersion": "8.0.23.53103"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeTargets": {
|
||||||
|
"runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll": {
|
||||||
|
"rid": "browser",
|
||||||
|
"assetType": "runtime",
|
||||||
|
"assemblyVersion": "8.0.0.0",
|
||||||
|
"fileVersion": "8.0.23.53103"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Text.Json/8.0.5": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||||
|
"System.Text.Encodings.Web": "8.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/System.Text.Json.dll": {
|
||||||
|
"assemblyVersion": "8.0.0.0",
|
||||||
|
"fileVersion": "8.0.1024.46610"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Threading.Tasks.Extensions/4.5.4": {},
|
||||||
|
"TouchSocket/3.0.14": {
|
||||||
|
"dependencies": {
|
||||||
|
"TouchSocket.Core": "3.0.14"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/TouchSocket.dll": {
|
||||||
|
"assemblyVersion": "3.0.14.0",
|
||||||
|
"fileVersion": "3.0.14.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resources": {
|
||||||
|
"lib/net6.0/en-US/TouchSocket.resources.dll": {
|
||||||
|
"locale": "en-US"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"TouchSocket.Core/3.0.14": {
|
||||||
|
"dependencies": {
|
||||||
|
"Newtonsoft.Json": "13.0.3",
|
||||||
|
"System.Memory": "4.5.5",
|
||||||
|
"System.Text.Json": "8.0.5",
|
||||||
|
"System.Threading.Tasks.Extensions": "4.5.4"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/TouchSocket.Core.dll": {
|
||||||
|
"assemblyVersion": "3.0.14.0",
|
||||||
|
"fileVersion": "3.0.14.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resources": {
|
||||||
|
"lib/net6.0/en-US/TouchSocket.Core.resources.dll": {
|
||||||
|
"locale": "en-US"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"TouchSocket.Http/3.0.14": {
|
||||||
|
"dependencies": {
|
||||||
|
"TouchSocket": "3.0.14"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/TouchSocket.Http.dll": {
|
||||||
|
"assemblyVersion": "3.0.14.0",
|
||||||
|
"fileVersion": "3.0.14.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resources": {
|
||||||
|
"lib/net6.0/en-US/TouchSocket.Http.resources.dll": {
|
||||||
|
"locale": "en-US"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"WebSocketServerDemo/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
},
|
||||||
|
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.21.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-8NudeHOE56YsY59HYY89akRMup8Ho+7Y3cADTGjajjWroXVU9RQai2nA6PfteB8AuzmRHZ5NZQB2BnWhQEul5g==",
|
||||||
|
"path": "microsoft.visualstudio.azure.containers.tools.targets/1.21.0",
|
||||||
|
"hashPath": "microsoft.visualstudio.azure.containers.tools.targets.1.21.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Newtonsoft.Json/13.0.3": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
|
||||||
|
"path": "newtonsoft.json/13.0.3",
|
||||||
|
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Memory/4.5.5": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==",
|
||||||
|
"path": "system.memory/4.5.5",
|
||||||
|
"hashPath": "system.memory.4.5.5.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
|
||||||
|
"path": "system.runtime.compilerservices.unsafe/6.0.0",
|
||||||
|
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Text.Encodings.Web/8.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
|
||||||
|
"path": "system.text.encodings.web/8.0.0",
|
||||||
|
"hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Text.Json/8.0.5": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-0f1B50Ss7rqxXiaBJyzUu9bWFOO2/zSlifZ/UNMdiIpDYe4cY4LQQicP4nirK1OS31I43rn062UIJ1Q9bpmHpg==",
|
||||||
|
"path": "system.text.json/8.0.5",
|
||||||
|
"hashPath": "system.text.json.8.0.5.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Threading.Tasks.Extensions/4.5.4": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
|
||||||
|
"path": "system.threading.tasks.extensions/4.5.4",
|
||||||
|
"hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"TouchSocket/3.0.14": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-8gVdGkBI7GJf9q6gOJ3JkyeGTBT6D98tZLvbdhMIkiFlrzhpncxBWBMvx0cpeAMCmVtpv9y/KDVIIC21FuXkbw==",
|
||||||
|
"path": "touchsocket/3.0.14",
|
||||||
|
"hashPath": "touchsocket.3.0.14.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"TouchSocket.Core/3.0.14": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-G2oU19Mq2uwIbK99RgKx9+UXrIAWzzqdzR5g07WKoMvFWIfraSzAn/ipmnom7wuzQpfMFZ4srxHTP5UUqmJK9g==",
|
||||||
|
"path": "touchsocket.core/3.0.14",
|
||||||
|
"hashPath": "touchsocket.core.3.0.14.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"TouchSocket.Http/3.0.14": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-UJlQ7Vf94fS6i4ScPQOlcn7LUQCksJBHFpba1Rd0Kjx83MJ70hlcYuxqfbJsHzHISqZOFpGKrn8Y8Wa4QiQ8mA==",
|
||||||
|
"path": "touchsocket.http/3.0.14",
|
||||||
|
"hashPath": "touchsocket.http.3.0.14.nupkg.sha512"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net6.0",
|
||||||
|
"framework": {
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "6.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,4 @@
|
||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
|
|
@ -0,0 +1,23 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
// 运行时版本:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
[assembly: System.Reflection.AssemblyCompanyAttribute("WebSocketServerDemo")]
|
||||||
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyProductAttribute("WebSocketServerDemo")]
|
||||||
|
[assembly: System.Reflection.AssemblyTitleAttribute("WebSocketServerDemo")]
|
||||||
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|
||||||
|
// 由 MSBuild WriteCodeFragment 类生成。
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
c632dfabe670c6f1b7561f03c473a18b23090faef18bd8a9776e4aa268ec98fd
|
|
@ -0,0 +1,15 @@
|
||||||
|
is_global = true
|
||||||
|
build_property.TargetFramework = net6.0
|
||||||
|
build_property.TargetPlatformMinVersion =
|
||||||
|
build_property.UsingMicrosoftNETSdkWeb =
|
||||||
|
build_property.ProjectTypeGuids =
|
||||||
|
build_property.InvariantGlobalization =
|
||||||
|
build_property.PlatformNeutralAssembly =
|
||||||
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
|
build_property.RootNamespace = WebSocketServerDemo
|
||||||
|
build_property.ProjectDir = D:\WorkSpace\ZhiYi\WebSocketServerDemo\
|
||||||
|
build_property.EnableComHosting =
|
||||||
|
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||||
|
build_property.EffectiveAnalysisLevelStyle = 6.0
|
||||||
|
build_property.EnableCodeStyleSeverity =
|
|
@ -0,0 +1,8 @@
|
||||||
|
// <auto-generated/>
|
||||||
|
global using global::System;
|
||||||
|
global using global::System.Collections.Generic;
|
||||||
|
global using global::System.IO;
|
||||||
|
global using global::System.Linq;
|
||||||
|
global using global::System.Net.Http;
|
||||||
|
global using global::System.Threading;
|
||||||
|
global using global::System.Threading.Tasks;
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
2859689639774e711f68d4465950bddeaf76eb36c0c0c1334185267013cf1239
|
|
@ -0,0 +1,26 @@
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\WebSocketServerDemo.exe
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\WebSocketServerDemo.deps.json
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\WebSocketServerDemo.runtimeconfig.json
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\WebSocketServerDemo.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\WebSocketServerDemo.pdb
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\Newtonsoft.Json.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\System.Text.Encodings.Web.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\System.Text.Json.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\TouchSocket.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\TouchSocket.Core.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\TouchSocket.Http.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\en-US\TouchSocket.resources.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\en-US\TouchSocket.Core.resources.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\en-US\TouchSocket.Http.resources.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\bin\Debug\net6.0\runtimes\browser\lib\net6.0\System.Text.Encodings.Web.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\WebSocketServerDemo.csproj.AssemblyReference.cache
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\WebSocketServerDemo.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\WebSocketServerDemo.AssemblyInfoInputs.cache
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\WebSocketServerDemo.AssemblyInfo.cs
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\WebSocketServerDemo.csproj.CoreCompileInputs.cache
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\WebSocke.61CF1F96.Up2Date
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\WebSocketServerDemo.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\refint\WebSocketServerDemo.dll
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\WebSocketServerDemo.pdb
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\WebSocketServerDemo.genruntimeconfig.cache
|
||||||
|
D:\WorkSpace\ZhiYi\WebSocketServerDemo\obj\Debug\net6.0\ref\WebSocketServerDemo.dll
|
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
4c96750ffa2c97627137739b1ca85fb6344ded8981a6f9e2be57f5e109b73134
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,84 @@
|
||||||
|
{
|
||||||
|
"format": 1,
|
||||||
|
"restore": {
|
||||||
|
"D:\\WorkSpace\\ZhiYi\\WebSocketServerDemo\\WebSocketServerDemo.csproj": {}
|
||||||
|
},
|
||||||
|
"projects": {
|
||||||
|
"D:\\WorkSpace\\ZhiYi\\WebSocketServerDemo\\WebSocketServerDemo.csproj": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "D:\\WorkSpace\\ZhiYi\\WebSocketServerDemo\\WebSocketServerDemo.csproj",
|
||||||
|
"projectName": "WebSocketServerDemo",
|
||||||
|
"projectPath": "D:\\WorkSpace\\ZhiYi\\WebSocketServerDemo\\WebSocketServerDemo.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\",
|
||||||
|
"outputPath": "D:\\WorkSpace\\ZhiYi\\WebSocketServerDemo\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"fallbackFolders": [
|
||||||
|
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||||
|
],
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net6.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"projectReferences": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"restoreAuditProperties": {
|
||||||
|
"enableAudit": "true",
|
||||||
|
"auditLevel": "low",
|
||||||
|
"auditMode": "direct"
|
||||||
|
},
|
||||||
|
"SdkAnalysisLevel": "9.0.200"
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets": {
|
||||||
|
"target": "Package",
|
||||||
|
"version": "[1.21.0, )"
|
||||||
|
},
|
||||||
|
"TouchSocket.Http": {
|
||||||
|
"target": "Package",
|
||||||
|
"version": "[3.0.14, )"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.200\\RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||||
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||||
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Administrator\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||||
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.13.1</NuGetToolVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<SourceRoot Include="C:\Users\Administrator\.nuget\packages\" />
|
||||||
|
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<Import Project="$(NuGetPackageRoot)microsoft.visualstudio.azure.containers.tools.targets\1.21.0\build\Microsoft.VisualStudio.Azure.Containers.Tools.Targets.props" Condition="Exists('$(NuGetPackageRoot)microsoft.visualstudio.azure.containers.tools.targets\1.21.0\build\Microsoft.VisualStudio.Azure.Containers.Tools.Targets.props')" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<PkgTouchSocket_Core Condition=" '$(PkgTouchSocket_Core)' == '' ">C:\Users\Administrator\.nuget\packages\touchsocket.core\3.0.14</PkgTouchSocket_Core>
|
||||||
|
<PkgMicrosoft_VisualStudio_Azure_Containers_Tools_Targets Condition=" '$(PkgMicrosoft_VisualStudio_Azure_Containers_Tools_Targets)' == '' ">C:\Users\Administrator\.nuget\packages\microsoft.visualstudio.azure.containers.tools.targets\1.21.0</PkgMicrosoft_VisualStudio_Azure_Containers_Tools_Targets>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<Import Project="$(NuGetPackageRoot)system.text.json\8.0.5\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.5\buildTransitive\net6.0\System.Text.Json.targets')" />
|
||||||
|
<Import Project="$(NuGetPackageRoot)microsoft.visualstudio.azure.containers.tools.targets\1.21.0\build\Microsoft.VisualStudio.Azure.Containers.Tools.Targets.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.visualstudio.azure.containers.tools.targets\1.21.0\build\Microsoft.VisualStudio.Azure.Containers.Tools.Targets.targets')" />
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,687 @@
|
||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"targets": {
|
||||||
|
"net6.0": {
|
||||||
|
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.21.0": {
|
||||||
|
"type": "package",
|
||||||
|
"build": {
|
||||||
|
"build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.props": {},
|
||||||
|
"build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.targets": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Newtonsoft.Json/13.0.3": {
|
||||||
|
"type": "package",
|
||||||
|
"compile": {
|
||||||
|
"lib/net6.0/Newtonsoft.Json.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Newtonsoft.Json.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Memory/4.5.5": {
|
||||||
|
"type": "package",
|
||||||
|
"compile": {
|
||||||
|
"ref/netcoreapp2.1/_._": {}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netcoreapp2.1/_._": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"compile": {
|
||||||
|
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"buildTransitive/netcoreapp3.1/_._": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Text.Encodings.Web/8.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"dependencies": {
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"lib/net6.0/System.Text.Encodings.Web.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/System.Text.Encodings.Web.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"buildTransitive/net6.0/_._": {}
|
||||||
|
},
|
||||||
|
"runtimeTargets": {
|
||||||
|
"runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll": {
|
||||||
|
"assetType": "runtime",
|
||||||
|
"rid": "browser"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Text.Json/8.0.5": {
|
||||||
|
"type": "package",
|
||||||
|
"dependencies": {
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||||
|
"System.Text.Encodings.Web": "8.0.0"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"lib/net6.0/System.Text.Json.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/System.Text.Json.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"buildTransitive/net6.0/System.Text.Json.targets": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Threading.Tasks.Extensions/4.5.4": {
|
||||||
|
"type": "package",
|
||||||
|
"compile": {
|
||||||
|
"ref/netcoreapp2.1/_._": {}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netcoreapp2.1/_._": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"TouchSocket/3.0.14": {
|
||||||
|
"type": "package",
|
||||||
|
"dependencies": {
|
||||||
|
"TouchSocket.Core": "3.0.14"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"lib/net6.0/TouchSocket.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/TouchSocket.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"lib/net6.0/en-US/TouchSocket.resources.dll": {
|
||||||
|
"locale": "en-US"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"TouchSocket.Core/3.0.14": {
|
||||||
|
"type": "package",
|
||||||
|
"dependencies": {
|
||||||
|
"Newtonsoft.Json": "13.0.3",
|
||||||
|
"System.Memory": "4.5.5",
|
||||||
|
"System.Text.Json": "8.0.5",
|
||||||
|
"System.Threading.Tasks.Extensions": "4.5.4"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"lib/net6.0/TouchSocket.Core.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/TouchSocket.Core.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"lib/net6.0/en-US/TouchSocket.Core.resources.dll": {
|
||||||
|
"locale": "en-US"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"TouchSocket.Http/3.0.14": {
|
||||||
|
"type": "package",
|
||||||
|
"dependencies": {
|
||||||
|
"TouchSocket": "3.0.14"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"lib/net6.0/TouchSocket.Http.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/TouchSocket.Http.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"lib/net6.0/en-US/TouchSocket.Http.resources.dll": {
|
||||||
|
"locale": "en-US"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.21.0": {
|
||||||
|
"sha512": "8NudeHOE56YsY59HYY89akRMup8Ho+7Y3cADTGjajjWroXVU9RQai2nA6PfteB8AuzmRHZ5NZQB2BnWhQEul5g==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "microsoft.visualstudio.azure.containers.tools.targets/1.21.0",
|
||||||
|
"hasTools": true,
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"CHANGELOG.md",
|
||||||
|
"EULA.md",
|
||||||
|
"ThirdPartyNotices.txt",
|
||||||
|
"build/Container.props",
|
||||||
|
"build/Container.targets",
|
||||||
|
"build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.props",
|
||||||
|
"build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.targets",
|
||||||
|
"build/Rules/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/cs-CZ/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/de-DE/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/es-ES/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/fr-FR/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/it-IT/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/ja-JP/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/ko-KR/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/pl-PL/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/pt-BR/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/ru-RU/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/tr-TR/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/zh-CN/GeneralBrowseObject.xaml",
|
||||||
|
"build/Rules/zh-TW/GeneralBrowseObject.xaml",
|
||||||
|
"build/ToolsTarget.props",
|
||||||
|
"build/ToolsTarget.targets",
|
||||||
|
"icon.png",
|
||||||
|
"microsoft.visualstudio.azure.containers.tools.targets.1.21.0.nupkg.sha512",
|
||||||
|
"microsoft.visualstudio.azure.containers.tools.targets.nuspec",
|
||||||
|
"tools/Microsoft.VisualStudio.Containers.Tools.Common.dll",
|
||||||
|
"tools/Microsoft.VisualStudio.Containers.Tools.Shared.dll",
|
||||||
|
"tools/Microsoft.VisualStudio.Containers.Tools.Tasks.dll",
|
||||||
|
"tools/Newtonsoft.Json.dll",
|
||||||
|
"tools/System.Security.Principal.Windows.dll",
|
||||||
|
"tools/cs/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/cs/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/cs/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/de/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/de/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/de/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/es/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/es/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/es/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/fr/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/fr/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/fr/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/it/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/it/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/it/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/ja/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/ja/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/ja/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/ko/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/ko/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/ko/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/pl/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/pl/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/pl/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/pt-BR/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/pt-BR/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/pt-BR/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/ru/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/ru/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/ru/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/tr/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/tr/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/tr/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/zh-Hans/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/zh-Hans/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/zh-Hans/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll",
|
||||||
|
"tools/zh-Hant/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll",
|
||||||
|
"tools/zh-Hant/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll",
|
||||||
|
"tools/zh-Hant/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Newtonsoft.Json/13.0.3": {
|
||||||
|
"sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "newtonsoft.json/13.0.3",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"LICENSE.md",
|
||||||
|
"README.md",
|
||||||
|
"lib/net20/Newtonsoft.Json.dll",
|
||||||
|
"lib/net20/Newtonsoft.Json.xml",
|
||||||
|
"lib/net35/Newtonsoft.Json.dll",
|
||||||
|
"lib/net35/Newtonsoft.Json.xml",
|
||||||
|
"lib/net40/Newtonsoft.Json.dll",
|
||||||
|
"lib/net40/Newtonsoft.Json.xml",
|
||||||
|
"lib/net45/Newtonsoft.Json.dll",
|
||||||
|
"lib/net45/Newtonsoft.Json.xml",
|
||||||
|
"lib/net6.0/Newtonsoft.Json.dll",
|
||||||
|
"lib/net6.0/Newtonsoft.Json.xml",
|
||||||
|
"lib/netstandard1.0/Newtonsoft.Json.dll",
|
||||||
|
"lib/netstandard1.0/Newtonsoft.Json.xml",
|
||||||
|
"lib/netstandard1.3/Newtonsoft.Json.dll",
|
||||||
|
"lib/netstandard1.3/Newtonsoft.Json.xml",
|
||||||
|
"lib/netstandard2.0/Newtonsoft.Json.dll",
|
||||||
|
"lib/netstandard2.0/Newtonsoft.Json.xml",
|
||||||
|
"newtonsoft.json.13.0.3.nupkg.sha512",
|
||||||
|
"newtonsoft.json.nuspec",
|
||||||
|
"packageIcon.png"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"System.Memory/4.5.5": {
|
||||||
|
"sha512": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "system.memory/4.5.5",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"LICENSE.TXT",
|
||||||
|
"THIRD-PARTY-NOTICES.TXT",
|
||||||
|
"lib/net461/System.Memory.dll",
|
||||||
|
"lib/net461/System.Memory.xml",
|
||||||
|
"lib/netcoreapp2.1/_._",
|
||||||
|
"lib/netstandard1.1/System.Memory.dll",
|
||||||
|
"lib/netstandard1.1/System.Memory.xml",
|
||||||
|
"lib/netstandard2.0/System.Memory.dll",
|
||||||
|
"lib/netstandard2.0/System.Memory.xml",
|
||||||
|
"ref/netcoreapp2.1/_._",
|
||||||
|
"system.memory.4.5.5.nupkg.sha512",
|
||||||
|
"system.memory.nuspec",
|
||||||
|
"useSharedDesignerContext.txt",
|
||||||
|
"version.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
|
||||||
|
"sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "system.runtime.compilerservices.unsafe/6.0.0",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"Icon.png",
|
||||||
|
"LICENSE.TXT",
|
||||||
|
"THIRD-PARTY-NOTICES.TXT",
|
||||||
|
"buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets",
|
||||||
|
"buildTransitive/netcoreapp3.1/_._",
|
||||||
|
"lib/net461/System.Runtime.CompilerServices.Unsafe.dll",
|
||||||
|
"lib/net461/System.Runtime.CompilerServices.Unsafe.xml",
|
||||||
|
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll",
|
||||||
|
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml",
|
||||||
|
"lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll",
|
||||||
|
"lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml",
|
||||||
|
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll",
|
||||||
|
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml",
|
||||||
|
"system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
|
||||||
|
"system.runtime.compilerservices.unsafe.nuspec",
|
||||||
|
"useSharedDesignerContext.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"System.Text.Encodings.Web/8.0.0": {
|
||||||
|
"sha512": "yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "system.text.encodings.web/8.0.0",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"Icon.png",
|
||||||
|
"LICENSE.TXT",
|
||||||
|
"THIRD-PARTY-NOTICES.TXT",
|
||||||
|
"buildTransitive/net461/System.Text.Encodings.Web.targets",
|
||||||
|
"buildTransitive/net462/_._",
|
||||||
|
"buildTransitive/net6.0/_._",
|
||||||
|
"buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets",
|
||||||
|
"lib/net462/System.Text.Encodings.Web.dll",
|
||||||
|
"lib/net462/System.Text.Encodings.Web.xml",
|
||||||
|
"lib/net6.0/System.Text.Encodings.Web.dll",
|
||||||
|
"lib/net6.0/System.Text.Encodings.Web.xml",
|
||||||
|
"lib/net7.0/System.Text.Encodings.Web.dll",
|
||||||
|
"lib/net7.0/System.Text.Encodings.Web.xml",
|
||||||
|
"lib/net8.0/System.Text.Encodings.Web.dll",
|
||||||
|
"lib/net8.0/System.Text.Encodings.Web.xml",
|
||||||
|
"lib/netstandard2.0/System.Text.Encodings.Web.dll",
|
||||||
|
"lib/netstandard2.0/System.Text.Encodings.Web.xml",
|
||||||
|
"runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll",
|
||||||
|
"runtimes/browser/lib/net6.0/System.Text.Encodings.Web.xml",
|
||||||
|
"runtimes/browser/lib/net7.0/System.Text.Encodings.Web.dll",
|
||||||
|
"runtimes/browser/lib/net7.0/System.Text.Encodings.Web.xml",
|
||||||
|
"runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll",
|
||||||
|
"runtimes/browser/lib/net8.0/System.Text.Encodings.Web.xml",
|
||||||
|
"system.text.encodings.web.8.0.0.nupkg.sha512",
|
||||||
|
"system.text.encodings.web.nuspec",
|
||||||
|
"useSharedDesignerContext.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"System.Text.Json/8.0.5": {
|
||||||
|
"sha512": "0f1B50Ss7rqxXiaBJyzUu9bWFOO2/zSlifZ/UNMdiIpDYe4cY4LQQicP4nirK1OS31I43rn062UIJ1Q9bpmHpg==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "system.text.json/8.0.5",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"Icon.png",
|
||||||
|
"LICENSE.TXT",
|
||||||
|
"PACKAGE.md",
|
||||||
|
"THIRD-PARTY-NOTICES.TXT",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
|
||||||
|
"buildTransitive/net461/System.Text.Json.targets",
|
||||||
|
"buildTransitive/net462/System.Text.Json.targets",
|
||||||
|
"buildTransitive/net6.0/System.Text.Json.targets",
|
||||||
|
"buildTransitive/netcoreapp2.0/System.Text.Json.targets",
|
||||||
|
"buildTransitive/netstandard2.0/System.Text.Json.targets",
|
||||||
|
"lib/net462/System.Text.Json.dll",
|
||||||
|
"lib/net462/System.Text.Json.xml",
|
||||||
|
"lib/net6.0/System.Text.Json.dll",
|
||||||
|
"lib/net6.0/System.Text.Json.xml",
|
||||||
|
"lib/net7.0/System.Text.Json.dll",
|
||||||
|
"lib/net7.0/System.Text.Json.xml",
|
||||||
|
"lib/net8.0/System.Text.Json.dll",
|
||||||
|
"lib/net8.0/System.Text.Json.xml",
|
||||||
|
"lib/netstandard2.0/System.Text.Json.dll",
|
||||||
|
"lib/netstandard2.0/System.Text.Json.xml",
|
||||||
|
"system.text.json.8.0.5.nupkg.sha512",
|
||||||
|
"system.text.json.nuspec",
|
||||||
|
"useSharedDesignerContext.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"System.Threading.Tasks.Extensions/4.5.4": {
|
||||||
|
"sha512": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "system.threading.tasks.extensions/4.5.4",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"LICENSE.TXT",
|
||||||
|
"THIRD-PARTY-NOTICES.TXT",
|
||||||
|
"lib/MonoAndroid10/_._",
|
||||||
|
"lib/MonoTouch10/_._",
|
||||||
|
"lib/net461/System.Threading.Tasks.Extensions.dll",
|
||||||
|
"lib/net461/System.Threading.Tasks.Extensions.xml",
|
||||||
|
"lib/netcoreapp2.1/_._",
|
||||||
|
"lib/netstandard1.0/System.Threading.Tasks.Extensions.dll",
|
||||||
|
"lib/netstandard1.0/System.Threading.Tasks.Extensions.xml",
|
||||||
|
"lib/netstandard2.0/System.Threading.Tasks.Extensions.dll",
|
||||||
|
"lib/netstandard2.0/System.Threading.Tasks.Extensions.xml",
|
||||||
|
"lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll",
|
||||||
|
"lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml",
|
||||||
|
"lib/xamarinios10/_._",
|
||||||
|
"lib/xamarinmac20/_._",
|
||||||
|
"lib/xamarintvos10/_._",
|
||||||
|
"lib/xamarinwatchos10/_._",
|
||||||
|
"ref/MonoAndroid10/_._",
|
||||||
|
"ref/MonoTouch10/_._",
|
||||||
|
"ref/netcoreapp2.1/_._",
|
||||||
|
"ref/xamarinios10/_._",
|
||||||
|
"ref/xamarinmac20/_._",
|
||||||
|
"ref/xamarintvos10/_._",
|
||||||
|
"ref/xamarinwatchos10/_._",
|
||||||
|
"system.threading.tasks.extensions.4.5.4.nupkg.sha512",
|
||||||
|
"system.threading.tasks.extensions.nuspec",
|
||||||
|
"useSharedDesignerContext.txt",
|
||||||
|
"version.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"TouchSocket/3.0.14": {
|
||||||
|
"sha512": "8gVdGkBI7GJf9q6gOJ3JkyeGTBT6D98tZLvbdhMIkiFlrzhpncxBWBMvx0cpeAMCmVtpv9y/KDVIIC21FuXkbw==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "touchsocket/3.0.14",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"LICENSE.txt",
|
||||||
|
"lib/net45/TouchSocket.dll",
|
||||||
|
"lib/net45/TouchSocket.xml",
|
||||||
|
"lib/net45/en-US/TouchSocket.resources.dll",
|
||||||
|
"lib/net462/TouchSocket.dll",
|
||||||
|
"lib/net462/TouchSocket.xml",
|
||||||
|
"lib/net462/en-US/TouchSocket.resources.dll",
|
||||||
|
"lib/net472/TouchSocket.dll",
|
||||||
|
"lib/net472/TouchSocket.xml",
|
||||||
|
"lib/net472/en-US/TouchSocket.resources.dll",
|
||||||
|
"lib/net481/TouchSocket.dll",
|
||||||
|
"lib/net481/TouchSocket.xml",
|
||||||
|
"lib/net481/en-US/TouchSocket.resources.dll",
|
||||||
|
"lib/net6.0/TouchSocket.dll",
|
||||||
|
"lib/net6.0/TouchSocket.xml",
|
||||||
|
"lib/net6.0/en-US/TouchSocket.resources.dll",
|
||||||
|
"lib/net8.0/TouchSocket.dll",
|
||||||
|
"lib/net8.0/TouchSocket.xml",
|
||||||
|
"lib/net8.0/en-US/TouchSocket.resources.dll",
|
||||||
|
"lib/net9.0/TouchSocket.dll",
|
||||||
|
"lib/net9.0/TouchSocket.xml",
|
||||||
|
"lib/net9.0/en-US/TouchSocket.resources.dll",
|
||||||
|
"lib/netstandard2.0/TouchSocket.dll",
|
||||||
|
"lib/netstandard2.0/TouchSocket.xml",
|
||||||
|
"lib/netstandard2.0/en-US/TouchSocket.resources.dll",
|
||||||
|
"lib/netstandard2.1/TouchSocket.dll",
|
||||||
|
"lib/netstandard2.1/TouchSocket.xml",
|
||||||
|
"lib/netstandard2.1/en-US/TouchSocket.resources.dll",
|
||||||
|
"logo.png",
|
||||||
|
"touchsocket.3.0.14.nupkg.sha512",
|
||||||
|
"touchsocket.nuspec"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"TouchSocket.Core/3.0.14": {
|
||||||
|
"sha512": "G2oU19Mq2uwIbK99RgKx9+UXrIAWzzqdzR5g07WKoMvFWIfraSzAn/ipmnom7wuzQpfMFZ4srxHTP5UUqmJK9g==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "touchsocket.core/3.0.14",
|
||||||
|
"hasTools": true,
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"LICENSE.txt",
|
||||||
|
"analyzers/dotnet/cs/TouchSocket.Core.SourceGenerator.dll",
|
||||||
|
"lib/net45/TouchSocket.Core.dll",
|
||||||
|
"lib/net45/TouchSocket.Core.xml",
|
||||||
|
"lib/net45/en-US/TouchSocket.Core.resources.dll",
|
||||||
|
"lib/net462/TouchSocket.Core.dll",
|
||||||
|
"lib/net462/TouchSocket.Core.xml",
|
||||||
|
"lib/net462/en-US/TouchSocket.Core.resources.dll",
|
||||||
|
"lib/net472/TouchSocket.Core.dll",
|
||||||
|
"lib/net472/TouchSocket.Core.xml",
|
||||||
|
"lib/net472/en-US/TouchSocket.Core.resources.dll",
|
||||||
|
"lib/net481/TouchSocket.Core.dll",
|
||||||
|
"lib/net481/TouchSocket.Core.xml",
|
||||||
|
"lib/net481/en-US/TouchSocket.Core.resources.dll",
|
||||||
|
"lib/net6.0/TouchSocket.Core.dll",
|
||||||
|
"lib/net6.0/TouchSocket.Core.xml",
|
||||||
|
"lib/net6.0/en-US/TouchSocket.Core.resources.dll",
|
||||||
|
"lib/net8.0/TouchSocket.Core.dll",
|
||||||
|
"lib/net8.0/TouchSocket.Core.xml",
|
||||||
|
"lib/net8.0/en-US/TouchSocket.Core.resources.dll",
|
||||||
|
"lib/net9.0/TouchSocket.Core.dll",
|
||||||
|
"lib/net9.0/TouchSocket.Core.xml",
|
||||||
|
"lib/net9.0/en-US/TouchSocket.Core.resources.dll",
|
||||||
|
"lib/netstandard2.0/TouchSocket.Core.dll",
|
||||||
|
"lib/netstandard2.0/TouchSocket.Core.xml",
|
||||||
|
"lib/netstandard2.0/en-US/TouchSocket.Core.resources.dll",
|
||||||
|
"lib/netstandard2.1/TouchSocket.Core.dll",
|
||||||
|
"lib/netstandard2.1/TouchSocket.Core.xml",
|
||||||
|
"lib/netstandard2.1/en-US/TouchSocket.Core.resources.dll",
|
||||||
|
"logo.png",
|
||||||
|
"tools/install.ps1",
|
||||||
|
"tools/uninstall.ps1",
|
||||||
|
"touchsocket.core.3.0.14.nupkg.sha512",
|
||||||
|
"touchsocket.core.nuspec"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"TouchSocket.Http/3.0.14": {
|
||||||
|
"sha512": "UJlQ7Vf94fS6i4ScPQOlcn7LUQCksJBHFpba1Rd0Kjx83MJ70hlcYuxqfbJsHzHISqZOFpGKrn8Y8Wa4QiQ8mA==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "touchsocket.http/3.0.14",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"LICENSE.txt",
|
||||||
|
"lib/net45/TouchSocket.Http.dll",
|
||||||
|
"lib/net45/TouchSocket.Http.xml",
|
||||||
|
"lib/net45/en-US/TouchSocket.Http.resources.dll",
|
||||||
|
"lib/net462/TouchSocket.Http.dll",
|
||||||
|
"lib/net462/TouchSocket.Http.xml",
|
||||||
|
"lib/net462/en-US/TouchSocket.Http.resources.dll",
|
||||||
|
"lib/net472/TouchSocket.Http.dll",
|
||||||
|
"lib/net472/TouchSocket.Http.xml",
|
||||||
|
"lib/net472/en-US/TouchSocket.Http.resources.dll",
|
||||||
|
"lib/net481/TouchSocket.Http.dll",
|
||||||
|
"lib/net481/TouchSocket.Http.xml",
|
||||||
|
"lib/net481/en-US/TouchSocket.Http.resources.dll",
|
||||||
|
"lib/net6.0/TouchSocket.Http.dll",
|
||||||
|
"lib/net6.0/TouchSocket.Http.xml",
|
||||||
|
"lib/net6.0/en-US/TouchSocket.Http.resources.dll",
|
||||||
|
"lib/net8.0/TouchSocket.Http.dll",
|
||||||
|
"lib/net8.0/TouchSocket.Http.xml",
|
||||||
|
"lib/net8.0/en-US/TouchSocket.Http.resources.dll",
|
||||||
|
"lib/net9.0/TouchSocket.Http.dll",
|
||||||
|
"lib/net9.0/TouchSocket.Http.xml",
|
||||||
|
"lib/net9.0/en-US/TouchSocket.Http.resources.dll",
|
||||||
|
"lib/netstandard2.0/TouchSocket.Http.dll",
|
||||||
|
"lib/netstandard2.0/TouchSocket.Http.xml",
|
||||||
|
"lib/netstandard2.0/en-US/TouchSocket.Http.resources.dll",
|
||||||
|
"lib/netstandard2.1/TouchSocket.Http.dll",
|
||||||
|
"lib/netstandard2.1/TouchSocket.Http.xml",
|
||||||
|
"lib/netstandard2.1/en-US/TouchSocket.Http.resources.dll",
|
||||||
|
"logo.png",
|
||||||
|
"touchsocket.http.3.0.14.nupkg.sha512",
|
||||||
|
"touchsocket.http.nuspec"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"projectFileDependencyGroups": {
|
||||||
|
"net6.0": [
|
||||||
|
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets >= 1.21.0",
|
||||||
|
"TouchSocket.Http >= 3.0.14"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"packageFolders": {
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\": {},
|
||||||
|
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
|
||||||
|
},
|
||||||
|
"project": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "D:\\WorkSpace\\ZhiYi\\WebSocketServerDemo\\WebSocketServerDemo.csproj",
|
||||||
|
"projectName": "WebSocketServerDemo",
|
||||||
|
"projectPath": "D:\\WorkSpace\\ZhiYi\\WebSocketServerDemo\\WebSocketServerDemo.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\",
|
||||||
|
"outputPath": "D:\\WorkSpace\\ZhiYi\\WebSocketServerDemo\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"fallbackFolders": [
|
||||||
|
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||||
|
],
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net6.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"projectReferences": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"restoreAuditProperties": {
|
||||||
|
"enableAudit": "true",
|
||||||
|
"auditLevel": "low",
|
||||||
|
"auditMode": "direct"
|
||||||
|
},
|
||||||
|
"SdkAnalysisLevel": "9.0.200"
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets": {
|
||||||
|
"target": "Package",
|
||||||
|
"version": "[1.21.0, )"
|
||||||
|
},
|
||||||
|
"TouchSocket.Http": {
|
||||||
|
"target": "Package",
|
||||||
|
"version": "[3.0.14, )"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.200\\RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"dgSpecHash": "xpqtCo2lwTo=",
|
||||||
|
"success": true,
|
||||||
|
"projectFilePath": "D:\\WorkSpace\\ZhiYi\\WebSocketServerDemo\\WebSocketServerDemo.csproj",
|
||||||
|
"expectedPackageFiles": [
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\microsoft.visualstudio.azure.containers.tools.targets\\1.21.0\\microsoft.visualstudio.azure.containers.tools.targets.1.21.0.nupkg.sha512",
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512",
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\system.memory\\4.5.5\\system.memory.4.5.5.nupkg.sha512",
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512",
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\system.text.json\\8.0.5\\system.text.json.8.0.5.nupkg.sha512",
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512",
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\touchsocket\\3.0.14\\touchsocket.3.0.14.nupkg.sha512",
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\touchsocket.core\\3.0.14\\touchsocket.core.3.0.14.nupkg.sha512",
|
||||||
|
"C:\\Users\\Administrator\\.nuget\\packages\\touchsocket.http\\3.0.14\\touchsocket.http.3.0.14.nupkg.sha512"
|
||||||
|
],
|
||||||
|
"logs": []
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.13.35806.99
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZhiYi.Core.Api", "ZhiYi.Core.Api\ZhiYi.Core.Api.csproj", "{C7476179-20D6-4B0E-9421-720648B81107}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZhiYi.Core.Application", "ZhiYi.Core.Application\ZhiYi.Core.Application.csproj", "{B05B7AEC-7556-4229-9A38-0CA37F1188D4}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZhiYi.Core.Repository", "ZhiYi.Core.Repository\ZhiYi.Core.Repository.csproj", "{7A4D462B-2616-47E7-9520-1CE9049F9CCB}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZhiYi.Core.Grpc.Service.Api", "ZhiYi.Core.Grpc.Service.Api\ZhiYi.Core.Grpc.Service.Api.csproj", "{020AA9A3-AB79-4F1E-95FD-B2B3264EAF59}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ZhiYi.Core.Service", "ZhiYi.Core.Service", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebSocketServerDemo", "WebSocketServerDemo\WebSocketServerDemo.csproj", "{891D6EDF-8340-4698-A475-5A23CA42E2A0}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{C7476179-20D6-4B0E-9421-720648B81107}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{C7476179-20D6-4B0E-9421-720648B81107}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{C7476179-20D6-4B0E-9421-720648B81107}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{C7476179-20D6-4B0E-9421-720648B81107}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{B05B7AEC-7556-4229-9A38-0CA37F1188D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{B05B7AEC-7556-4229-9A38-0CA37F1188D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{B05B7AEC-7556-4229-9A38-0CA37F1188D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{B05B7AEC-7556-4229-9A38-0CA37F1188D4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7A4D462B-2616-47E7-9520-1CE9049F9CCB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{7A4D462B-2616-47E7-9520-1CE9049F9CCB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{7A4D462B-2616-47E7-9520-1CE9049F9CCB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7A4D462B-2616-47E7-9520-1CE9049F9CCB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{020AA9A3-AB79-4F1E-95FD-B2B3264EAF59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{020AA9A3-AB79-4F1E-95FD-B2B3264EAF59}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{020AA9A3-AB79-4F1E-95FD-B2B3264EAF59}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{020AA9A3-AB79-4F1E-95FD-B2B3264EAF59}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{891D6EDF-8340-4698-A475-5A23CA42E2A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{891D6EDF-8340-4698-A475-5A23CA42E2A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{891D6EDF-8340-4698-A475-5A23CA42E2A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{891D6EDF-8340-4698-A475-5A23CA42E2A0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(NestedProjects) = preSolution
|
||||||
|
{C7476179-20D6-4B0E-9421-720648B81107} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
|
||||||
|
{B05B7AEC-7556-4229-9A38-0CA37F1188D4} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
|
||||||
|
{7A4D462B-2616-47E7-9520-1CE9049F9CCB} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
|
||||||
|
{020AA9A3-AB79-4F1E-95FD-B2B3264EAF59} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
|
||||||
|
{891D6EDF-8340-4698-A475-5A23CA42E2A0} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {CABDBACA-2A29-4DBF-80A5-6BFE48423A36}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
|
@ -0,0 +1,30 @@
|
||||||
|
|
||||||
|
|
||||||
|
namespace ZhiYi.Core.Api.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 验证码管理
|
||||||
|
/// </summary>
|
||||||
|
[Route("api/captcha/[action]")]
|
||||||
|
[ApiController]
|
||||||
|
public class CaptchaController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly ICaptchaAppService _captchaAppService;
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="captchaAppService"></param>
|
||||||
|
public CaptchaController(ICaptchaAppService captchaAppService)
|
||||||
|
{
|
||||||
|
_captchaAppService = captchaAppService;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取验证码
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<ActionResult<CaptchaResponseDto>> GetCaptchaAsync()
|
||||||
|
=> await _captchaAppService.GetCaptchaAsync();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
|
||||||
|
namespace ZhiYi.Core.Api.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 组管理
|
||||||
|
/// </summary>
|
||||||
|
[Route("api/group/[action]")]
|
||||||
|
[ApiController]
|
||||||
|
public class GroupController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly IGroupAppService _groupAppService;
|
||||||
|
public GroupController(IGroupAppService groupAppService)
|
||||||
|
{
|
||||||
|
_groupAppService = groupAppService;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建组
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task CreateAsync([FromBody] GroupCreationDto input)
|
||||||
|
=> await _groupAppService.CreateAsync(input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更改组名
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task UpdateAsync([FromBody] GroupUpdationDto input)
|
||||||
|
=> await _groupAppService.UpdateAsync(input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 删除组
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task DeleteAsync([FromBody]GroupDeleteDto input)
|
||||||
|
=> await _groupAppService.DeleteAsync(input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取组列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="userid">账号ID</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<AppResponse<List<ZhiYi_Group>>> GetListAsync([FromQuery] long userid)
|
||||||
|
=> await _groupAppService.GetListAsync(userid);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
using ZhiYi.Core.Application.Dtos.Server;
|
||||||
|
|
||||||
|
namespace ZhiYi.Core.Api.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 服务器管理
|
||||||
|
/// </summary>
|
||||||
|
[Route("api/server/[action]")]
|
||||||
|
[ApiController]
|
||||||
|
public class ServerController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly IServerAppService _serverAppService;
|
||||||
|
public ServerController(IServerAppService serverAppService)
|
||||||
|
{
|
||||||
|
_serverAppService = serverAppService;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建服务器
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task CreateAsync([FromBody] ServerCreationDto input)
|
||||||
|
=> await _serverAppService.CreateAsync(input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新服务器
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task UpdateAsync(ServerUpdationDto input)
|
||||||
|
=> await _serverAppService.UpdateAsync(input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 删除服务器
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task DeleteAsync([FromBody]ServerDeleteDto input)
|
||||||
|
=> await _serverAppService.DeleteAsync(input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取服务器列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="groupid">组ID</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<ActionResult<AppResponse<List<ZhiYi_Server>>>> GetListAsync([FromQuery]long groupid)
|
||||||
|
=> await _serverAppService.GetListAsync(groupid);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,55 @@
|
||||||
|
|
||||||
|
|
||||||
|
namespace ZhiYi.Core.Api.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 分享管理
|
||||||
|
/// </summary>
|
||||||
|
[Route("api/[action]")]
|
||||||
|
[ApiController]
|
||||||
|
public class SharedController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly ISharedAppService _sharedAppService;
|
||||||
|
|
||||||
|
public SharedController(ISharedAppService sharedAppService)
|
||||||
|
{
|
||||||
|
_sharedAppService = sharedAppService;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建分享
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<AppResponse<string>> CreateAsync([FromBody] SharedCreationDto input)
|
||||||
|
=> await _sharedAppService.CreateAsync(input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取个人分享列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id">分享账号ID</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<AppResponse<List<SharedDto>>> GetListAsync([FromQuery]long id)
|
||||||
|
=> await _sharedAppService.GetListAsync(id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 使用分享码
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task UseShared([FromBody] UseSharedCodeDto input)
|
||||||
|
=> await _sharedAppService.UseShared(input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 批量删除分享码
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task DeleteBatchAsync(SharedDeleteDto input)
|
||||||
|
=> await _sharedAppService.DeleteBatchAsync(input);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,57 @@
|
||||||
|
|
||||||
|
|
||||||
|
namespace ZhiYi.Core.Api.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 用户管理
|
||||||
|
/// </summary>
|
||||||
|
[Route("api/user/[action]")]
|
||||||
|
[ApiController]
|
||||||
|
public class UserController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly IUserAppService _userAppService;
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="userAppService"></param>
|
||||||
|
public UserController(IUserAppService userAppService)
|
||||||
|
{
|
||||||
|
_userAppService = userAppService;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 验证码登录
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult<LoginResponseDto>> LoginAsync([FromBody] UserLoginDto input)
|
||||||
|
=> await _userAppService.LoginAsync(input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 注册
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task RegisterAsync([FromBody] UserCreationDto input)
|
||||||
|
=> await _userAppService.RegisterAsync(input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 用户列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<ActionResult<object>> UserList()
|
||||||
|
=> await _userAppService.GetUserAsync();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取签名
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult<string>> GetSignature([FromBody]SignatureCreationDto input)
|
||||||
|
=> await _userAppService.GetSignature(input);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
# 请参阅 https://aka.ms/customizecontainer 以了解如何自定义调试容器,以及 Visual Studio 如何使用此 Dockerfile 生成映像以更快地进行调试。
|
||||||
|
|
||||||
|
# 此阶段用于在快速模式(默认为调试配置)下从 VS 运行时
|
||||||
|
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
|
||||||
|
WORKDIR /app
|
||||||
|
EXPOSE 80
|
||||||
|
|
||||||
|
|
||||||
|
# 此阶段用于生成服务项目
|
||||||
|
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
|
||||||
|
ARG BUILD_CONFIGURATION=Release
|
||||||
|
WORKDIR /src
|
||||||
|
COPY ["ZhiYi.Core.Api/ZhiYi.Core.Api.csproj", "ZhiYi.Core.Api/"]
|
||||||
|
COPY ["ZhiYi.Core.Application/ZhiYi.Core.Application.csproj", "ZhiYi.Core.Application/"]
|
||||||
|
COPY ["ZhiYi.Core.Repository/ZhiYi.Core.Repository.csproj", "ZhiYi.Core.Repository/"]
|
||||||
|
RUN dotnet restore "./ZhiYi.Core.Api/ZhiYi.Core.Api.csproj"
|
||||||
|
COPY . .
|
||||||
|
WORKDIR "/src/ZhiYi.Core.Api"
|
||||||
|
RUN dotnet build "./ZhiYi.Core.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
||||||
|
|
||||||
|
# 此阶段用于发布要复制到最终阶段的服务项目
|
||||||
|
FROM build AS publish
|
||||||
|
ARG BUILD_CONFIGURATION=Release
|
||||||
|
RUN dotnet publish "./ZhiYi.Core.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||||
|
|
||||||
|
# 此阶段在生产中使用,或在常规模式下从 VS 运行时使用(在不使用调试配置时为默认值)
|
||||||
|
FROM base AS final
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=publish /app/publish .
|
||||||
|
ENTRYPOINT ["dotnet", "ZhiYi.Core.Api.dll"]
|
|
@ -0,0 +1,25 @@
|
||||||
|
global using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||||
|
global using Microsoft.AspNetCore.Mvc;
|
||||||
|
global using Microsoft.IdentityModel.Tokens;
|
||||||
|
global using Microsoft.OpenApi.Models;
|
||||||
|
global using NLog;
|
||||||
|
global using NLog.Web;
|
||||||
|
global using StackExchange.Redis;
|
||||||
|
global using System.Text;
|
||||||
|
global using ZhiYi.Core.Application.Captcha;
|
||||||
|
global using ZhiYi.Core.Application.Dtos;
|
||||||
|
global using ZhiYi.Core.Application.Filter;
|
||||||
|
global using ZhiYi.Core.Application.Middleware;
|
||||||
|
global using ZhiYi.Core.Application.Services;
|
||||||
|
global using ZhiYi.Core.Application.Services.Implements;
|
||||||
|
global using Grpc.Core;
|
||||||
|
global using ZhiYi.Core.Api.GrpcService.Protos.CaptchaServerProtobufs;
|
||||||
|
global using ZhiYi.Core.Application.Dtos.Group;
|
||||||
|
global using ZhiYi.Core.Repository.Entities;
|
||||||
|
global using ZhiYi.Core.Application.Dtos.Shared;
|
||||||
|
global using System.Reflection;
|
||||||
|
global using TouchSocket.Core;
|
||||||
|
global using TouchSocket.Http;
|
||||||
|
global using TouchSocket.Sockets;
|
||||||
|
global using ZhiYi.Core.Api.GrpcService.Services;
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
option csharp_namespace = "ZhiYi.Core.Api.GrpcService.Protos.CaptchaServerProtobufs";
|
||||||
|
|
||||||
|
package signservice;
|
||||||
|
|
||||||
|
//»ñÈ¡Ç©
|
||||||
|
service SignatureService {
|
||||||
|
rpc GetSignatureService(GetSignatureRequest) returns (GetSignatureResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
message GetSignatureRequest{
|
||||||
|
string app_secret = 1; //ÃÜÔ¿
|
||||||
|
string path = 2; //ÇëÇó·ÓÉ
|
||||||
|
string access_token = 3; //ÁîÅÆ
|
||||||
|
}
|
||||||
|
|
||||||
|
//»ñÈ¡Ç©ÃûÏìÓ¦¶¨Òå
|
||||||
|
message GetSignatureResponse{
|
||||||
|
string sign_str = 1;
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
|
||||||
|
namespace ZhiYi.Core.Api.GrpcService.Services
|
||||||
|
{
|
||||||
|
public class CaptchaGrpcService : SignatureService.SignatureServiceBase
|
||||||
|
{
|
||||||
|
private readonly IUserAppService _userAppService;
|
||||||
|
public CaptchaGrpcService(IUserAppService userAppService)
|
||||||
|
{
|
||||||
|
_userAppService = userAppService;
|
||||||
|
}
|
||||||
|
|
||||||
|
[AllowAnonymous]
|
||||||
|
public override async Task<GetSignatureResponse> GetSignatureService(GetSignatureRequest request, ServerCallContext context)
|
||||||
|
{
|
||||||
|
var signatureCreationDto = new SignatureCreationDto { AppSecret = request.AppSecret, Path = request.Path, Token = request.AccessToken };
|
||||||
|
var str = await _userAppService.GetSignature(signatureCreationDto);
|
||||||
|
return new GetSignatureResponse { SignStr = str };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,150 @@
|
||||||
|
|
||||||
|
|
||||||
|
using ZhiYi.Core.Application.WebSocket;
|
||||||
|
|
||||||
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
builder.Services.AddControllers(option =>
|
||||||
|
{
|
||||||
|
option.Filters.Add<CustomExceptionFilterAttribute>();
|
||||||
|
})
|
||||||
|
.AddJsonOptions(jsonOption =>
|
||||||
|
{
|
||||||
|
jsonOption.JsonSerializerOptions.PropertyNamingPolicy = null; //禁用小驼峰,实体返回时保持原有大小写格式
|
||||||
|
});
|
||||||
|
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
||||||
|
//grpc
|
||||||
|
builder.Services.AddGrpc();
|
||||||
|
builder.Services.AddAutoMapper(Assembly.GetExecutingAssembly());
|
||||||
|
builder.Services.AddEndpointsApiExplorer();
|
||||||
|
var startAssembly = Assembly.GetExecutingAssembly();
|
||||||
|
builder.Services.AddSwaggerGen(c =>
|
||||||
|
{
|
||||||
|
var startAssemblyName = startAssembly.GetName().Name;
|
||||||
|
if (string.IsNullOrEmpty(startAssemblyName))
|
||||||
|
throw new NullReferenceException(nameof(startAssemblyName));
|
||||||
|
|
||||||
|
var lastName = startAssemblyName.Split('.').Last();
|
||||||
|
var apiLayerXmlFilePath = Path.Combine(AppContext.BaseDirectory, $"{startAssemblyName}.xml");
|
||||||
|
var applicationContractsLayerXmlFilePath = Path.Combine(AppContext.BaseDirectory, $"{startAssemblyName.Replace($".{lastName}", ".Application.Contracts")}.xml");
|
||||||
|
var applicationLayerXmlFilePath = Path.Combine(AppContext.BaseDirectory, $"{startAssemblyName.Replace($".{lastName}", ".Application")}.xml");
|
||||||
|
c.IncludeXmlComments(apiLayerXmlFilePath, true);
|
||||||
|
if (File.Exists(applicationContractsLayerXmlFilePath))
|
||||||
|
{
|
||||||
|
c.IncludeXmlComments(applicationContractsLayerXmlFilePath, true);
|
||||||
|
}
|
||||||
|
else if (File.Exists(applicationLayerXmlFilePath))
|
||||||
|
{
|
||||||
|
c.IncludeXmlComments(applicationLayerXmlFilePath, true);
|
||||||
|
}
|
||||||
|
c.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" });
|
||||||
|
|
||||||
|
// 添加 JWT 认证支持
|
||||||
|
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
|
||||||
|
{
|
||||||
|
Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
|
||||||
|
Name = "Authorization",
|
||||||
|
In = ParameterLocation.Header,
|
||||||
|
Type = SecuritySchemeType.ApiKey,
|
||||||
|
Scheme = "Bearer"
|
||||||
|
});
|
||||||
|
c.AddSecurityRequirement(new OpenApiSecurityRequirement
|
||||||
|
{
|
||||||
|
{
|
||||||
|
new OpenApiSecurityScheme
|
||||||
|
{
|
||||||
|
Reference = new OpenApiReference
|
||||||
|
{
|
||||||
|
Type = ReferenceType.SecurityScheme,
|
||||||
|
Id = "Bearer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Array.Empty<string>()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// 注册 Redis 连接
|
||||||
|
var constr = builder.Configuration["ConnectionStrings:Redis"];
|
||||||
|
builder.Services.AddSingleton<IConnectionMultiplexer>(provider =>
|
||||||
|
{
|
||||||
|
var configuration = ConfigurationOptions.Parse(constr);
|
||||||
|
return ConnectionMultiplexer.Connect(configuration);
|
||||||
|
});
|
||||||
|
builder.Services.AddSingleton<IUserAppService, UserAppService>();
|
||||||
|
builder.Services.AddSingleton<IServerAppService, ServerAppService>();
|
||||||
|
builder.Services.AddSingleton<IGroupAppService, GroupAppService>();
|
||||||
|
builder.Services.AddSingleton<ICaptchaAppService, CaptchaAppService>();
|
||||||
|
builder.Services.AddSingleton<IConnectionClientManagerService, ConnectionClientManagerService>();
|
||||||
|
builder.Services.AddScoped<CaptchaService>();
|
||||||
|
builder.Services.AddScoped<TokenService>();
|
||||||
|
builder.Configuration.AddJsonFile($"{AppContext.BaseDirectory}/appsettings.{builder.Environment.EnvironmentName}.json", true, true);
|
||||||
|
/*builder.Services.AddAutoMapper(config =>
|
||||||
|
{
|
||||||
|
config.AddProfile(new MappingProfile()); // 如果您有一个通用的配置方法
|
||||||
|
}, typeof(YourApplicationNamespace.MappingProfile).Assembly);*/
|
||||||
|
//跨域
|
||||||
|
builder.Services.AddCors(options =>
|
||||||
|
{
|
||||||
|
options.AddPolicy("AllowSpecificOrigin",
|
||||||
|
builder => builder.WithOrigins("http://localhost:8080") // 允许的源
|
||||||
|
.AllowAnyMethod() // 允许的方法
|
||||||
|
.AllowAnyHeader() // 允许的头部
|
||||||
|
.AllowCredentials()); // 允许携带凭证
|
||||||
|
});
|
||||||
|
//鉴权配置
|
||||||
|
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
|
||||||
|
.AddJwtBearer(options =>
|
||||||
|
{
|
||||||
|
options.TokenValidationParameters = new TokenValidationParameters
|
||||||
|
{
|
||||||
|
ValidateIssuer = true,
|
||||||
|
ValidateAudience = true,
|
||||||
|
ValidateLifetime = true,
|
||||||
|
ValidateIssuerSigningKey = true,
|
||||||
|
ValidIssuer = builder.Configuration["Jwt:Issuer"],
|
||||||
|
ValidAudience = builder.Configuration["Jwt:Audience"],
|
||||||
|
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]))
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//日志
|
||||||
|
builder.Logging.ClearProviders();
|
||||||
|
LogManager.LoadConfiguration($"{AppContext.BaseDirectory}/nlog.config");
|
||||||
|
builder.Host.UseNLog();
|
||||||
|
var app = builder.Build();
|
||||||
|
app.UseCors("AllowSpecificOrigin");
|
||||||
|
// Configure the HTTP request pipeline.
|
||||||
|
if (app.Environment.IsDevelopment())
|
||||||
|
{
|
||||||
|
app.UseSwagger();
|
||||||
|
app.UseSwaggerUI();
|
||||||
|
}
|
||||||
|
app.MapGrpcService<CaptchaGrpcService>();
|
||||||
|
app.UseAuthentication();
|
||||||
|
//注册签名/认证中间件
|
||||||
|
app.UseMiddleware<SignatureValidationMiddleware>();
|
||||||
|
//app.UseAuthentication(appBuilder => appBuilder Disabled = true)
|
||||||
|
app.UseStaticFiles();
|
||||||
|
var serviceManger = app.Services.GetRequiredService<IConnectionClientManagerService>();
|
||||||
|
|
||||||
|
//websocket服务
|
||||||
|
|
||||||
|
var service = new HttpService();
|
||||||
|
await service.SetupAsync(new TouchSocketConfig()//加载配置
|
||||||
|
.SetListenIPHosts(6088)
|
||||||
|
.ConfigureContainer(a =>
|
||||||
|
{
|
||||||
|
a.AddConsoleLogger();
|
||||||
|
})
|
||||||
|
.ConfigurePlugins(a =>
|
||||||
|
{
|
||||||
|
a.UseWebSocket()//添加WebSocket功能
|
||||||
|
.SetWSUrl("/ws")//设置url直接可以连接。
|
||||||
|
.UseAutoPong();//当收到ping报文时自动回应pong
|
||||||
|
a.Add(new WebSocketPlugin(serviceManger));
|
||||||
|
}));
|
||||||
|
|
||||||
|
await service.StartAsync();
|
||||||
|
service.Logger.Info("websocket服务器已启动");
|
||||||
|
app.MapControllers();
|
||||||
|
app.Run();
|
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
"profiles": {
|
||||||
|
"ZhiYi.Core.Api": {
|
||||||
|
"commandName": "Project",
|
||||||
|
"launchBrowser": true,
|
||||||
|
"launchUrl": "swagger",
|
||||||
|
"environmentVariables": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
},
|
||||||
|
"dotnetRunMessages": true,
|
||||||
|
"applicationUrl": "http://localhost:5088"
|
||||||
|
},
|
||||||
|
"IIS Express": {
|
||||||
|
"commandName": "IISExpress",
|
||||||
|
"launchBrowser": true,
|
||||||
|
"launchUrl": "swagger",
|
||||||
|
"environmentVariables": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//"Container (Dockerfile)": {
|
||||||
|
// "commandName": "Docker",
|
||||||
|
// "launchBrowser": true,
|
||||||
|
// "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/swagger",
|
||||||
|
// "environmentVariables": {
|
||||||
|
// "ASPNETCORE_URLS": "http://+:80"
|
||||||
|
// },
|
||||||
|
// "publishAllPorts": true,
|
||||||
|
// "useSSL": false
|
||||||
|
//}
|
||||||
|
},
|
||||||
|
"$schema": "https://json.schemastore.org/launchsettings.json",
|
||||||
|
"iisSettings": {
|
||||||
|
"windowsAuthentication": false,
|
||||||
|
"anonymousAuthentication": true,
|
||||||
|
"iisExpress": {
|
||||||
|
"applicationUrl": "http://localhost:7259",
|
||||||
|
"sslPort": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,47 @@
|
||||||
|
using static ZhiYi.Core.Api.ServerConfig.KestrelOptions.Endpoint;
|
||||||
|
|
||||||
|
namespace ZhiYi.Core.Api.ServerConfig
|
||||||
|
{
|
||||||
|
public class KestrelOptions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the endpoints for the Kestrel server.
|
||||||
|
/// </summary>
|
||||||
|
public IDictionary<string, Endpoint> Endpoints { get; init; } = new Dictionary<string, Endpoint>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 文件大小限制配置
|
||||||
|
/// </summary>
|
||||||
|
public KestrelLimitsOptions Limits { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents an endpoint for the Kestrel server.
|
||||||
|
/// </summary>
|
||||||
|
public class Endpoint
|
||||||
|
{
|
||||||
|
private const string DefaultProtocols = "Http1AndHttp2";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The URL associated with the endpoint.
|
||||||
|
/// </summary>
|
||||||
|
public string Url { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The protocols associated with the endpoint. Defaults to "Http1AndHttp2" if not specified.
|
||||||
|
/// </summary>
|
||||||
|
public string Protocols { get; set; } = DefaultProtocols;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Endpoint"/> class.
|
||||||
|
/// </summary>
|
||||||
|
public Endpoint()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public class KestrelLimitsOptions
|
||||||
|
{
|
||||||
|
public long MaxRequestBodySize { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||||
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||||
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
|
<NoWarn>$(NoWarn);1591</NoWarn>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="AutoMapper" Version="11.0.0" />
|
||||||
|
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />
|
||||||
|
<PackageReference Include="Grpc.AspNetCore" Version="2.47.0" />
|
||||||
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.36" />
|
||||||
|
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" />
|
||||||
|
<PackageReference Include="NLog.Web.AspNetCore" Version="5.0.0" />
|
||||||
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
|
||||||
|
<PackageReference Include="TouchSocket.Http" Version="3.0.14" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ZhiYi.Core.Application\ZhiYi.Core.Application.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Protobuf Include="GrpcService\Protos\captcha.proto" GrpcServices="Server" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
|
||||||
|
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
|
||||||
|
<ActiveDebugProfile>ZhiYi.Core.Api</ActiveDebugProfile>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
"ConnectionStrings": {
|
||||||
|
//"SqlConnection": "data source=127.0.0.1;initial catalog=zhiyi;persist security info=False;user id=postgres;password=123456;packet size=4096",
|
||||||
|
//"SqlConnection": "postgresql://postgres:123456@127.0.0.1:5432/zhiyi",
|
||||||
|
"SqlConnection": "PORT=5432;DATABASE=zhiyi;HOST=127.0.0.1;PASSWORD=123456;USER ID=postgres",
|
||||||
|
"Redis": "127.0.0.1:6379,password=,abortConnect=False,ssl=False,connectTimeout=5000,connectRetry=3"
|
||||||
|
},
|
||||||
|
"Jwt": {
|
||||||
|
"Key": "zhiyi_jwt_secret_key_zhiyi_jwt_secret_key",
|
||||||
|
"Issuer": "AuthApp",
|
||||||
|
"Audience": "AuthAppUsers",
|
||||||
|
"ExpiryInMinutes": 30
|
||||||
|
},
|
||||||
|
"AppSecret": "zhiyi_wkj",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Kestrel": {
|
||||||
|
"Endpoints": {
|
||||||
|
"Default": {
|
||||||
|
"Url": "http://0.0.0.0:5088"
|
||||||
|
},
|
||||||
|
"Grpc": {
|
||||||
|
"Url": "http://0.0.0.0:5089",
|
||||||
|
"Protocols": "Http2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*"
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue