获取 2023 上海 .NET 公司列表。
全栈开发框架 Spark
Spark 是一个开源的 Web 框架,可以通过富有表现力和直观的语法来加速 Web 应用程序开发。
Spark 基于 .NET 构建并进行了扩展,可以让开发人员快速地构建 Web 应用程序。它提供了无缝且高效的开发体验,让您可以专注于制作出色的应用程序,而 Spark 会处理底层的复杂问题。
约定优于配置
Spark 拥抱约定,让开发人员能够自由构建,而不用考虑太多的细节。
Spark 有 身份验证、邮件和日志记录等功能。让您自由创作,无需为小事操心。
Spark CLI 可以帮助您创建应用程序、运行迁移和生成类。
Spark 是一个还在开发中的项目, 感兴趣的同学可以关注一下。
开源的 CQRS 和 DDD 风格的 .NET 框架
Revo 是一个开源框架,适用于使用 Event 、CQRS 和 DDD 构建的现代化 .NET 应用程序。
功能特性
架构图
社区非常棒的并且成熟的 DDD 框架,感兴趣的同学可以学习一下。
.NET 服务实时监控
-Pulse 是一个基于 .NET 开发的轻量级实时监控项目,通过 Nuget 安装后可以监控服务的日志活动和资源使用情况,
-Pulse 使用了 进行前后端数据交互, 监控页面支持实时刷新。
如何使用?
1.安装nuget包
dotnet add package DotNetify.Pulse
2.配置 .cs
using DotNetify;
using DotNetify.Pulse;
...
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR();
services.AddDotNetify();
services.AddDotNetifyPulse();
}
public void Configure(IApplicationBuilder app)
{
app.UseWebSockets();
app.UseDotNetify();
app.UseDotNetifyPulse();
app.UseRouting();
app.UseEndpoints(endpoints => endpoints.MapHub<DotNetifyHub>("/dotnetify"));
}
3. 启动应用, 打开浏览器, 访问 :5000/pulse
-Pulse 还支持高度定制化,你可以根据自己的需要配置数据源和 。
开源的博客园主题
是一个由 .NET Core 开发工程师 开发的博客园主题,颜值高和专注于阅读是它的标签, 并且有非常多的博客园用户选择使用了 , star 数量近 2k,还是非常受欢迎的。
功能特点
一个非常简洁,颜值高,适合阅读的博客园主题,弥补了官方主题的不足,感谢作者的卓越贡献,对 感兴趣的同学快去试试吧!
超轻量级的 .NET 网络通信框架
是.Net(包括 C# 、VB.Net、F#)的一个整合性的、超轻量级的网络通信框架。包含了 tcp、udp、ssl、http、、rpc、、、等一系列的通信模块。一键式解决 TCP 黏分包问题博客园主题,udp大数据包分片组合问题等。使用协议模板,可快速实现「固定包头」、「固定长度」、「区间字符」等一系列的数据报文解析。
功能导图
上手示例
TcpService service = new TcpService();
service.Connecting = (client, e) => { };//有客户端正在连接
service.Connected = (client, e) => { };//有客户端连接
service.Disconnected = (client, e) => { };//有客户端断开连接
service.Received = (client, byteBlock, requestInfo) =>
{
//从客户端收到信息
string mes = byteBlock.ToString();
Console.WriteLine($"已从{client.ID}接收到信息:{mes}");
client.Send(mes);//将收到的信息直接返回给发送方
//client.Send("id",mes);//将收到的信息返回给特定ID的客户端
var clients = service.GetClients();
foreach (var targetClient in clients)//将收到的信息返回给在线的所有客户端。
{
if (targetClient.ID != client.ID)
{
targetClient.Send(mes);
}
}
};
service.Setup(new TouchSocketConfig()//载入配置
.SetListenIPHosts(new IPHost[] { new IPHost("127.0.0.1:7789"), new IPHost(7790) }))//同时监听两个地址
.Start();//启动
TcpClient tcpClient = new TcpClient();
tcpClient.Connected = (client, e) => { };//成功连接到服务器
tcpClient.Disconnected = (client, e) => { };//从服务器断开连接,当连接不成功时不会触发。
tcpClient.Received = (client, byteBlock, requestInfo) =>
{
//从服务器收到信息
string mes = Encoding.UTF8.GetString(byteBlock.Buffer, 0, byteBlock.Len);
Console.WriteLine($"接收到信息:{mes}");
};
//声明配置
TouchSocketConfig config = new TouchSocketConfig();
config.SetRemoteIPHost(new IPHost("127.0.0.1:7789"))
.UsePlugin()
.SetBufferLength(1024 * 10);
//载入配置
tcpClient.Setup(config);
tcpClient.Connect();
tcpClient.Send("RRQM");
使用 C# 开发的中国象棋
Chess 是一个基于 C# WPF开发的功能完善的中国象棋软件, 已开源全部源码,开箱即用。代码中含有大量注释,能够快速理解程序流程。可用于二次开发和学习。
功能特性
1. 人机对战,测试自己的象棋水平。
2. 电脑对战,观看电脑控制红黑双方棋子如何攻杀。
3. 自由打谱,练习各种变化,添加着法注释,并能够全部保存。
4. 具有复盘功能,所有保存的棋谱及其着法变化,都可以随时打开进行温习。
5. 残局破解,测试残局能力。系统自带30个残局,有视频破解教程。
6. 残局设计,可不断收集、扩展残局库。
截图预览
项目架构
编程环境: 2019/2022 C#,NET5.0/6.0,WPF,.0 随着功能扩展,代码量快速增长博客园主题,模块间耦合度过高问题越来越严重。下一步打算使用Prism框架对代码进行重构,重构为MVVM模式,以降低模块间的耦合度,增强可扩展性。
开源的轻量级 .NET 任务调度框架
是一个开源的任务调度框架,支持 语法,通过 Nuget 安装引用, 和 .Net 相比, 足够轻量,非常容易上手。
使用示例
下面是一个仅仅使用几行代码,配置后台任务的示例。
JobManager.Initialize();
JobManager.AddJob(
() => Console.WriteLine("5分钟过去了."),
s => s.ToRunEvery(5).Minutes()
);
不同时间场景的任务。
JobManager.AddJob(
() => Console.WriteLine("每天 20 点 15 执行一次 "),
s => s.ToRunEvery(1).Days().At(20, 15)
);
JobManager.AddJob(
() => Console.WriteLine("定时 2023年10月10日 执行"),
s => s.ToRunOnceAt(new DateTime(2023,10,10))
);
JobManager.AddJob(
() => Console.WriteLine("每 5s 执行一次..."),
s => s.ToRunOnceIn(5).Seconds()
);
删除任务
JobManager.AddJob(
() => Console.WriteLine("001 任务"),
s => s.WithName("001").ToRunEvery(1).Days().At(20, 15)
);
JobManager.RemoveJob("001");
获取所有的后台任务
var list = JobManager.AllSchedules;
获取正在运行的任务
var list = JobManager.RunningSchedules;
监听任务的开始和结束
JobManager.JobStart += info
=> Logger.Information($"{info.Name}: started");
JobManager.JobEnd += info
=> Logger.Information($"{info.Name}: ended ({info.Duration})");
使用 C# 开发的开源内网穿透工具
是一款强大开源的内网穿透工具,采用.NET CORE的全异步模式打造。
功能特点
1. 跨平台,客户端和服务端均可运行在MacOS,Linux,系统上;
2. 使用方便,配置简单;
3. 多端映射,只需安装一个客户端可映射整个局域网内的多种服务;
4. 支持TCP协议栈下的所有协议(已经经过测试的有FTP、、SMTP、HTTP/HTTPS、POP3、SMB、VNC、RDP。),以及相当一部分基于UDP的协议(已经经过测试的有DNS查询、mosh服务)。
运行原理
包含两个服务程序:
界面预览
客户端界面
服务端界面
功能丰富的 .NET 快速开发框架
是基于.Net7.0 开发的权限管理及快速开发框架,整合应用最新技术包括 Asp. MVC、 ORM、、、Vue3 等,核心模块包括:组织机构、角色用户、权限授权、多系统、多应用管理、定时任务、业务单据编码规则、代码生成器等。它的架构易于扩展,规范了一套业务实现的代码结构与操作流程,使 框架更易于应用到实际项目开发中。
FW 其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展,让 Web 开发更快速、简单,解决 70%重复工作。轻松开发,专注您的业务,从 FW 开始!
另外 saas 分支为 saas 版本,支持共享数据库使用 字段分离租户,也支持一个租户一个独立数据库。相比 分支版本将接口和实现进行分离项目实现解耦,新增了事件订阅等一系列功能。
分支适合单体应用开发,架构较为简单,没有实现接口和实现的解耦。
功能特性
使用 MIT 协议,完整开源。采用主流框架,容易上手,简单易学,学习成本低。可完全实现二次开发、基本满足 80%项目需求。
1、系统设置:对系统动态配置常用参数。
2、用户管理:用户是系统操作者,该功能主要完成系统用户配置。
3、组织机构:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
4、角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
5、字典管理:对系统中经常使用的一些较为固定的数据进行维护。
6、功能模块:配置系统菜单,操作权限,按钮权限标识等。
7、定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
8、代码生成:前后端代码的生成(.cs、.vue、.js)代码。
9、日志管理:系统正常操作日志、登录日志记录和查询;系统异常信息日志记录和查询。
10、多应用管理:支持应用调用 api 授权控制。
11、多系统管理:实现各子系统的统一管理和授权。
13、业务单据编码规则:可以按常量、日期、计数、时间等自定义业务单据编码规则。
14、短信和邮件:集成腾讯云短信通知和 EMail 发送通知
15、支持租户模式
16、支持用户定义主题风格
17、支持一主多从数据库读写分离
定时任务
代码生成器
支持一键生成服务端代码和前端代码,复制粘贴简单快速高效实现功能