Snail 1.10.36
dotnet add package Snail --version 1.10.36
NuGet\Install-Package Snail -Version 1.10.36
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Snail" Version="1.10.36" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Snail" Version="1.10.36" />
<PackageReference Include="Snail" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Snail --version 1.10.36
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Snail, 1.10.36"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Snail@1.10.36
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Snail&version=1.10.36
#tool nuget:?package=Snail&version=1.10.36
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
.net开源项目,一些基础类库项目 项目下所有类库共用一个README.md文件,具体类库参照项目介绍
- 项目文档:https://www.yuque.com/snail-devx/.net
- 更新说明:https://www.yuque.com/snail-devx/.net/stqfep9vlhtaswnb
- 仓库地址:https://github.com/snail-devx/Snail.NET
一、项目介绍
| 分类 | 项目 | 简介 | 备注 |
|---|---|---|---|
| 系统扩展 | Snail.Utilities | 工具类库 | 定义基础接口、对象;对系统功能的二次扩展和助手类 |
| 抽象层 | Snail.Abstractions | 抽象层 | 功能抽象层,包含接口扩展方法等,着重业务抽象,仅数据实体抽象放到Utilities |
| Snail.Aspect | 切面层 | 面向抽象层的切面编程,实现方法拦截,参数验证;并对Cache、Http等提供代码自动生成 | |
| 实现层 | Snail | 实现库 | Snail.Abstractions的默认实现 |
| Snail.Logger | 日志库 | Snail.Abstractions中Logging日志中的ILogProvider具体实现,默认Log4Net | |
| Snail.RabbitMQ | 针对RabbitMQ封装 | Snail.Abstractions中Message消息中的IMessageProvider的RabbitMQ实现 | |
| Snail.Redis | 针对Redis封装 | Snail.Abstractions中分布式缓存、分布式并发锁的Redis实现 | |
| Snail.WebApp | WebApp应用库 | Snail.Abstractions中IApplication接口针对WebApi应用实现,提供基础过滤器、中间件等 | |
| 数据库实现层 | Snail.Elastic | ElasticSearch数据库封装 | Snail.Abstractions中Database数据库IDbProvider相关实现 |
| Snail.Mongo | MongoDb数据库封装 | Snail.Abstractions中Database数据库IDbProvider相关实现 | |
| Snail.SqlCore | 关系型数据库核心封装 | Snail.Abstractions中Database数据库IDbProvider相关实现 | |
| Snail.MySql | MySql数据库封装 | Snail.Abstractions中Database数据库IDbProvider相关实现 | |
| Snail.PostgreSql | PostgreSql数据库封装 | Snail.Abstractions中Database数据库IDbProvider相关实现 |
二、运行环境
进行功能验证时,需要使用到一些三方服务;可使用提供的
Compose.yaml进行一键部署
- 基础服务:redis、rabbitmq
- 数据库:mongodb、mysql、postgresql、elasticsearch
1. Docker部署
- 执行如下命令:
docker compose -f Compose.yaml up -d - 初次启动时,推荐
docker compose -f Compose.yaml up更方便的查看部署状态和日志信息# 上载项目:自动创建服务容器,启动容器 docker compose -f Compose.yaml up # 下载项目:停止服务容器,删除容器、数据、网络等 docker compose -f Compose.yaml down # 停止项目:停止服务容器 docker compose -f Compose.yaml stop # 启动项目:启动服务容器,确保容器已存在 docker compose -f Compose.yaml start
2. 数据库初始化
进行数据库测试时,需要先初始化对应数据库下的数据表
1. ElasticSearch
下面语句为 Kibana 中执行,需要在
Compose.yaml在解注释 Kibana 服务注意需要先在 ElasticSearch 服务重置
kibana_system密码,再解注释
DELETE snail_testroutingmodel
PUT snail_testroutingmodel
{
"mappings": {
"dynamic": false,
"_routing": {"required": true},
"properties": {
"Id":{"type": "keyword"},
"String":{"type": "wildcard"},
"Name":{"type": "wildcard"}
}
},
"settings": {
"index.refresh_interval": "200ms"
}
}
DELETE snail_testmodel
PUT snail_testmodel
{
"mappings": {
"dynamic": false,
"properties": {
"Id":{"type": "keyword"},
"String":{"type": "wildcard"},
"ParentName":{"type": "wildcard"},
"Special":{"type": "wildcard"},
"IntValue":{"type": "integer"},
"IntNull":{"type": "integer"},
"Bool":{"type": "boolean"},
"BoolNull":{"type": "boolean"},
"Char":{"type": "keyword"},
"CharNull":{"type": "keyword"},
"DateTime":{"type": "date"},
"DateTimeNull":{"type": "date"},
"NodeType":{"type": "integer"},
"NodeTypeNull":{"type": "integer"},
"MyOverride":{"type": "wildcard"}
}
},
"settings": {
"index.refresh_interval": "200ms"
}
}
2. MySql
- 新建数据库:
Test选择utf8mb4作为字符集 - 建表语句:
-- 数据库名称 切换
use Test;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for Snail_TestRoutingModel
-- ----------------------------
DROP TABLE IF EXISTS `Snail_TestRoutingModel`;
CREATE TABLE `Snail_TestRoutingModel` (
`Id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`Routing` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`Name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for Snail_TestModel
-- ----------------------------
DROP TABLE IF EXISTS `Snail_TestModel`;
CREATE TABLE `Snail_TestModel` (
`Id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`String` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`Special` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`IntValue` int(255) NOT NULL,
`IntNull` int(255) NULL DEFAULT NULL,
`Bool` bit(1) NOT NULL,
`BoolNull` bit(1) NULL DEFAULT NULL,
`Char` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`CharNull` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`DateTime` datetime NOT NULL,
`DateTimeNull` datetime NULL DEFAULT NULL,
`NodeType` int(255) NOT NULL,
`NodeTypeNull` int(255) NULL DEFAULT NULL,
`ParentName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`MyOverride` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`Id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
3. Postgresql
- 新建数据库:Test
- 建表语句:
DROP TABLE IF EXISTS "public"."Snail_TestModel";
CREATE TABLE "public"."Snail_TestModel" (
"Id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
"String" varchar(255) COLLATE "pg_catalog"."default",
"ParentName" varchar(255) COLLATE "pg_catalog"."default",
"Special" varchar(255) COLLATE "pg_catalog"."default",
"IntValue" int4 NOT NULL,
"IntNull" int4,
"Char" char(1) COLLATE "pg_catalog"."default" NOT NULL,
"CharNull" char(1) COLLATE "pg_catalog"."default",
"DateTime" date NOT NULL,
"DateTimeNull" date,
"NodeType" int4 NOT NULL,
"NodeTypeNull" int4,
"MyOverride" varchar(255) COLLATE "pg_catalog"."default",
"Bool" bool NOT NULL,
"BoolNull" bool
)
;
-- ----------------------------
-- Primary Key structure for table Snail_TestModel
-- ----------------------------
ALTER TABLE "public"."Snail_TestModel" ADD CONSTRAINT "snail_testmodel_pkey" PRIMARY KEY ("Id");
-- ----------------------------
-- Table structure for Snail_TestRoutingModel
-- ----------------------------
DROP TABLE IF EXISTS "public"."Snail_TestRoutingModel";
CREATE TABLE "public"."Snail_TestRoutingModel" (
"Id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
"Routing" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
"Name" varchar(255) COLLATE "pg_catalog"."default"
)
;
-- ----------------------------
-- Primary Key structure for table Snail_TestRoutingModel
-- ----------------------------
ALTER TABLE "public"."Snail_TestRoutingModel" ADD CONSTRAINT "Snail_TestRoutingModel_pkey" PRIMARY KEY ("Id");
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Snail.Abstractions (>= 1.10.36)
- Snail.Aspect (>= 1.10.36)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Snail:
| Package | Downloads |
|---|---|
|
Snail.SqlCore
关系型数据库核心基础类库,提供sql助手类方法和Snail中Database的抽象实现 |
|
|
Snail.Mongo
Snail中Database相关功能的MongoDB实现 |
|
|
Snail.RabbitMQ
Snail中Message相关功能的RabbitMQ实现 |
|
|
Snail.Redis
Snail中Distribution相关功能的Redis实现,如分布式并发锁和分布式缓存 |
|
|
Snail.WebApp
Snail中分装的web应用,集成webapi常用服务和中间件 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.10.36 | 174 | 5/24/2026 |
| 1.10.35 | 174 | 5/19/2026 |
| 1.10.34 | 170 | 5/16/2026 |
| 1.10.33 | 170 | 5/16/2026 |
| 1.10.32 | 185 | 5/13/2026 |
| 1.10.31 | 150 | 4/28/2026 |
| 1.10.30 | 154 | 4/11/2026 |
| 1.10.29 | 155 | 4/1/2026 |
| 1.10.28 | 150 | 3/30/2026 |
| 1.10.27 | 149 | 3/30/2026 |
| 1.10.26 | 160 | 3/27/2026 |
| 1.10.25 | 178 | 1/22/2026 |
| 1.10.24 | 172 | 1/22/2026 |
| 1.10.23 | 164 | 1/20/2026 |
| 1.10.22 | 166 | 1/18/2026 |
| 1.10.21 | 160 | 1/16/2026 |
| 1.10.20 | 168 | 1/12/2026 |
| 1.10.19 | 169 | 1/11/2026 |
| 1.10.18 | 168 | 1/4/2026 |
| 1.10.17 | 170 | 1/3/2026 |
Loading failed