# ECSharp (原:EasySharpFrame)
[![Nuget](https://img.shields.io/nuget/v/EasySharpFrame?style=float)](https://www.nuget.org/packages/ECSharp)
[![Nuget](https://img.shields.io/nuget/dt/EasySharpFrame?style=float)](https://www.nuget.org/stats/packages/ECSharp?groupby=Version)
[![Platform](https://img.shields.io/badge/framework-.net-blueviolet?style=float)](https://dotnet.microsoft.com/download/dotnet)
[![Platform](https://img.shields.io/badge/platform-win|linux|osx-lightgrey?style=float)](https://dotnet.microsoft.com/download/dotnet)
[![GitHub](https://img.shields.io/github/license/suxf/EasySharpFrame?style=float)](https://github.com/suxf/ECSharp/blob/master/LICENSE)
Easy .NET Develop Frame.
这是一个基于.Net语言框架而设计的开发框架。集成了许多常规用到的开发功能,主要目的是利于基于此框架的服务器快捷开发!
# 快速使用
可以直接从NuGet库中搜索安装[最新版本](https://www.nuget.org/packages/ECSharp)。
# 版本支持
| 版本 | .Net6.0 | .Net5.0 | .NetCore3.1 | .NetFramework4.6.2 | .NetStandard2.0 |
| :-: | :-----: | :-----: |:----------: | :----------------: | :------------: |
| 1.17 | √ | √ | √ | √ | √ |
| 1.13 | √ | √ | √ | × | × |
| 1.11 | √ | √ | √ | √ | × |
### 更新历史 [查看](https://github.com/suxf/ECSharp/blob/master/UPDATE.md)
# 目录介绍
| 目录 | 备注 |
| ------------ | ------------ |
| UnityESF | Unity框架支持 |
| docs | [在线API文档](https://suxf.github.io/ECSharp) |
| ES | 框架主工程 |
| Sample | 框架测试样本工程 |
| SampleDll | 框架热更模块测试样本工程 |
# 功能说明
### 1.HTTP服务
对TcpListener进行封装,支持ssl模式,可以完成高并发任务。以后可能会更新静态文件的访问,即网页访问。
```csharp
/* 使用方法一 */
public void Http1()
{
// 先继承http异常接口,这里把测试的访问函数也写在一个类中,实际不需要
HttpHandle1 handle = new HttpHandle1();
// 建立http访问器,并载入异常接口类
HttpVisitor visitor = new HttpVisitor(handle);
// 建立http服务,填写地址并且赋予访问器
// X509Certificate2 certificate = new X509Certificate2("https.pfx", "8888");
// HttpService service = new HttpService("127.0.0.1", 8080, visitor, certificate);
HttpService service = new HttpService("127.0.0.1", 8080, visitor);
// 给访问器增加函数
visitor.Add("", handle.Index);
visitor.Add("Hello", handle.Hello);
// 启动服务
service.StartServer();
// 然后就可以通过浏览器或其他请求工具来访问了
// 访问地址: http://127.0.0.1:8080/Hello?text=World
Console.ReadLine();
}
class HttpHandle1 : IHttpVisitor
{
public void Index(HttpRequest request, HttpResponse response)
{
// 首页根访问
if (!request.GetParams.TryGetValue("text", out var text)) text = "text no content";
response.Write("Index:" + text);
}
public void Hello(HttpRequest request, HttpResponse response)
{
response.Write("Hello World:" + request.PostValue);
}
public void HttpVisitorException(HttpRequest request, Exception ex)
{
// http异常处理
}
}
```
```csharp
/* 使用方法二 */
public void Http2()
{
// 先继承http异常接口,这里把测试的访问函数也写在一个类中,实际不需要
HttpHandle2 handle = new HttpHandle2();
// 建立http服务,填写地址
HttpService service = new HttpService("127.0.0.1", 8080, handle);
// 启动服务
service.StartServer();
// 然后就可以通过浏览器或其他请求工具来访问了
// 访问地址: http://127.0.0.1:8080/Hello?text=World
Console.ReadLine();
}
class HttpHandle2 : IHttp
{
public void HttpException(HttpRequest request, Exception exception)
{
// http异常处理
}
public void OnRequest(HttpRequest request, HttpResponse response)
{
// 这里是全部消息回调接口
// 所以如果需要高度自定义可以使用此方法
}
}
```
### 2.Websocket服务
使用Fleck库中的Websocket进行二次封装,支持ssl模式。
```csharp
WebsocketService service = new WebsocketService("ws://127.0.0.1:8081", new WebsocketHandle());
class WebsocketHandle : IWebsocket
{
public void OnBinary(RemoteConnection conn)
{
// 数据使用byte流传输调用
}
public void OnClose(RemoteConnection conn)
{
// 关闭时调用
}
public void OnError(RemoteConnection conn, Exception exception)
{
// 出现异常调用
}
public void OnMessage(RemoteConnection conn)
{
// 数据使用文本时调用
}
public void OnOpen(RemoteConnection conn)
{
// 新连接产生调用
}
}
```
### 3.HyperSocket<自定义Socket服务>
该模块已经深度封装了原生Socket模块,实现了快捷连接,加密连接等比较便捷实用的功能,通过IOCP接口可以实现高并发收发。需要配合配套的客户端才能使用。
```csharp
// 创建服务器
var config = new HyperSocketConfig() { UseSSL = true };
new HyperSocketServer("127.0.0.1", 8888, 500, new ServerListener(), config).StartServer();
// 服务器监听接口
class ServerListener : IHyperSocketServer
{
public void OnClose(RemoteHyperSocket socket)
{
// 客户端关闭
}
public void SocketError(RemoteHyperSocket socket, Exception ex)
{
// 连接异常
}
public void OnOpen(RemoteHyperSocket socket)
{
// 客户端新连接
}
public void OnTcpReceive(byte[] data, RemoteHyperSocket socket)
{
// Tcp模式接收
}
public void OnUdpReceive(byte[] data, RemoteHyperSocket socket)
{
// Udp模式接收
}
}
```
```csharp
// 创建客户端
new HyperSocket("127.0.0.1", 8888, new ClientListener()).Connect();
// 客户端监听接口
class ClientListener : IHyperSocketClient
{
public void SocketError(HyperSocket socket, Exception ex)
{
// 客户端异常
}
public void OnOpen(HyperSocket socket)
{
// 客户端连接成功
}
public void OnTcpReceive(byte[] data, HyperSocket socket)
{
// Tcp模式接收
}
public void OnUdpReceive(byte[] data, HyperSocket socket)
{
// Udp模式接收
}
}
```
### 4.TimeFlow<时间流>
该模块深度封装了原生Thread模块,可以快捷给每个类增加一个时间更新,类似Unity中组件的Update功能,模块以固定周期的速度进行刷新,并且经过多个项目及测试,在周期时间内最终循环时间很精准。另外 TimeCaller 是支持快速定制一个Scheduler定时器的功能类;TimeClock是一种可自定义现实时间的闹钟定时器功能。
```csharp
class TimeDemo : ITimeUpdate
{
TimeFlow tf;
public TimeDemo(){
// 时间流
tf = TimeFlow.Create(this);
tf.Start();
// 时间闹钟
TimeClock.Create(delegate(DateTime time) {
Log.Info($"Time Now Alarm Clock:{time}");
}, "00:00:00").Start(true);
// 时间执行器
TimeCaller.Create(static delegate {
Log.Info("Hello TimeCaller");
}, 2000, 1000, 3).Start();
}
// 可以从 TimeFlow.period 直接获取周期时间
// dt为消耗时间的差值 因为程序不可能每次都精准执行
// 所以update会不断调整时间执行时间 dt就是这个时间的差值
// 一般情况下不需要管理,因为在总时间循环中 几乎可以忽略 因为我们有自动修正
public void Update(int dt)
{
}
// 停止更新
public void UpdateEnd()
{
}
}
```
### 5.Sqlserver数据库助手
Sqlserver相关操作比较多,更多可直接查看Sample中书写的样例:[查看链接](https://github.com/suxf/ECSharp/blob/master/Sample/Test_DBSqlServer.c
没有合适的资源?快使用搜索试试~ 我知道了~
简单的.NET开发框架 -C#-下载
共1630个文件
html:851个
js:421个
cs:216个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 89 浏览量
2023-03-15
20:02:00
上传
评论
收藏 3.46MB ZIP 举报
温馨提示
(更多详情、使用方法,请下载后细读README.md文件) 'ECSharp (原EasySharpFrame) 简单的 .NET 开发框架。 这是一个基于.Net语言框架而设计的开发框架。集成了许多常规用到的开发功能,主要目的是利于基于此框架的服务器快捷开发! 快速使用 可以直接从NuGet库中搜索安装最新版本。 版本支持 版本 .Net6.0 .Net5.0 .NetCore 3.1 .NetFramework4.6.2 .NetStandard2.0 1.17 √ √ √ √ √ 1.13 √ √ √ × × 1.11 √ √ √ √ × 更新历史 查看 目录介绍 目录 备注 UnityESF Unity框架支持 文档 在线API文档 是 框架主工程 样本 框架测试样本工程 示例Dll 框架热更模块测试样本工程 功能说明 1.HTTP服务 对TcpListener进行封装,支持ssl模式,可以完成高并发任务。以后可能会更新静态文件的访问,即网页访问。 使用方法一 public void Http1() { 先继承异常接口,这里把测试的访问函数也写在一个类中,实际不需
资源推荐
资源详情
资源评论
收起资源包目录
简单的.NET开发框架 -C#-下载 (1630个子文件)
App.config 231B
Var.cs 63KB
Var.cs 63KB
Command.cs 51KB
Command.cs 51KB
RedisHelper.cs 37KB
Event.cs 31KB
Event.cs 31KB
ServerSocket.cs 27KB
ServerSocket.cs 27KB
SqlServerDbHelper.cs 19KB
HotfixMgr.cs 16KB
ClientSocket.cs 16KB
ClientSocket.cs 16KB
LogManager.cs 13KB
LogManager.cs 13KB
ByteConverter.cs 13KB
ByteConverter.cs 13KB
Socket.cs 12KB
Socket.cs 12KB
TimeClock.cs 12KB
TimeClock.cs 12KB
Test_Variant.cs 11KB
HyperSocket.cs 11KB
HyperSocket.cs 11KB
VarList.cs 11KB
VarList.cs 11KB
RemoteHyperSocket.cs 11KB
RemoteHyperSocket.cs 11KB
SweetStream.cs 11KB
SweetStream.cs 11KB
VarMap.cs 10KB
VarMap.cs 10KB
MySqlDbHelper.cs 10KB
Test_HyperSocket.cs 10KB
Test_DBSqlServer.cs 9KB
RequestHeaders.cs 9KB
RequestHeaders.cs 9KB
TimeCaller.cs 9KB
TimeCaller.cs 9KB
NoSqlStorage.cs 9KB
HyperSocketServer.cs 9KB
HyperSocketServer.cs 9KB
DataEntityRows.cs 9KB
HttpRequest.cs 8KB
HttpRequest.cs 8KB
HyperSocketServerModule.cs 8KB
HyperSocketServerModule.cs 8KB
Test_DBMySql.cs 8KB
RemoteConnection.cs 8KB
RemoteConnection.cs 8KB
Ini.cs 8KB
Ini.cs 8KB
BaseTimeFlow.cs 7KB
BaseTimeFlow.cs 7KB
ResponseHeaders.cs 7KB
ResponseHeaders.cs 7KB
HttpService.cs 7KB
HttpService.cs 7KB
Parameter.cs 7KB
Log.cs 6KB
Log.cs 6KB
AgentRef.cs 6KB
HyperSocketClientModule.cs 6KB
HyperSocketClientModule.cs 6KB
DateTimeLinq.cs 5KB
DateTimeLinq.cs 5KB
HttpRequestHelper.cs 5KB
HttpRequestHelper.cs 5KB
Randomizer.cs 5KB
Randomizer.cs 5KB
ConfigLoader.cs 5KB
SqlBuilder.cs 4KB
Test_SimpleChatRoom.cs 4KB
AppConfig.cs 4KB
AppConfig.cs 4KB
TimeFlowThread.cs 4KB
TimeFlowThread.cs 4KB
Test_Time.cs 4KB
HttpResponse.cs 4KB
HttpResponse.cs 4KB
TimeFlow.cs 4KB
TimeFlow.cs 4KB
DataEntityRow.cs 4KB
LogConfig.cs 4KB
LogConfig.cs 4KB
LocalStorage.cs 4KB
LocalStorage.cs 4KB
KcpHelper.cs 4KB
KcpHelper.cs 4KB
Test_Hotfix.cs 4KB
AgentData.cs 4KB
BaseHyperSocket.cs 4KB
BaseHyperSocket.cs 4KB
WebsocketService.cs 4KB
WebsocketService.cs 4KB
MonitorSocketStatusTask.cs 3KB
MonitorSocketStatusTask.cs 3KB
AES.cs 3KB
AES.cs 3KB
共 1630 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9156
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 农村信用社联合社计算机信息系统投产与变更管理办.docx
- 农村信用社联合社计算机信息系统数据管理办法.docx
- 利用SPSS作临床效度分析线上计算网站介绍-医学研究部统计谘.(医学PPT课件).ppt
- 利用Zabbix监控mysqldump定时备份数据库状态.docx
- 利用计算机解决问题的基本过程.doc
- 化工铁路通信工程总结.doc
- 北京大学网络教育软件工程作业.docx
- 医药公司(连锁店)计算机操作规程未新系统的自行按照旧制修改-新系统过制的编号加修模版.doc
- 医药公司(连锁店)计算机系统操作规程模版.doc
- 医药连锁门店计算机系统的操作和管理程序未新系统的自行按照旧制修改-新系统过制的编号加修模版.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功