自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (2)
  • 收藏
  • 关注

原创 .netcore微服务——项目搭建

在.NET Core中,微服务是一种架构风格,它将应用程序构造为一组小型服务的集合,这些服务都通过HTTP-based API进行通信。每个服务都是独立部署的,可以用不同的编程语言编写,并且可以使用不同的数据存储技术。微服务的主要优点包括:增强容错能力:一个服务的故障不会影响其他服务。增强弹性:可以根据需求增加或减少服务的实例。增加弹性:使用更适合的语言或工具。增加敏捷性:每个服务都可以独立于其他服务进行更新和迭代。以下是一个简单的例子,展示如何在.NET Core中创建一个简单的微服务。

2024-07-05 10:58:06 1855 1

原创 .Net Core + DDD基础分层

四,Redis缓存,多种数据类型,查询,插入效率高,Redis与数据库同步策略,先更新数据库在删除缓存,延时双删,(延时,根据数据查询的数据来判断延时的时间),使用StackExchange.Redis。基础设施层使用的相关知识:Code First ,EF Core,Autofac依赖注入,仓储模式的实现接口,领域服务的实现接口,缓存,以及各种基础工具类。四,仓储:仓储是针对聚合的,封装领域逻辑,明确查询的意图,仓储中只维护聚合的状态,不进行持久化,仓储可以方便单元测试,更换ORM。

2024-07-05 10:57:23 850

原创 基于.NetCore和ABP.VNext的项目实战十一:定时任务实战-抓取热点新闻

本篇来完成一个全网各大平台的热点新闻数据的抓取,本次要抓取的源有18个,分别是博客园、V2EX、SegmentFault、掘金、微信热门、豆瓣精选、IT之家、36氪、百度贴吧、百度热搜、微博热搜、知乎热榜、知乎日报、网易新闻、GitHub、抖音热点、抖音视频、抖音正能量。之后就可以循环 list_task,使用XPath语法,或者解析JSON数据,去拿到数据了。用来处理爬虫逻辑,用构造函数方式注入仓储。先将实体类和自定义仓储创建好,实体取名。将我们各大平台放到一个枚举类。

2024-06-18 09:55:56 296

原创 基于.NetCore和ABP.VNext的项目实战十:AutoMapper实现对象映射

定义一种映射的方法是创建一个Profile 类,在。然后再基础模块类中添加。定义两个规则,第一个:从。中是没有的,所以可以使用。中都是存在的,所以直接。中存在Id属性,而在。

2024-06-18 09:55:24 202

原创 基于.NetCore和ABP.VNext的项目实战九:集成Hangfire实现定时任务处理

Hangfire 是一个开源的.NET 任务调度框架,它提供了内置集成化的控制台,允许用户直观明了地查看作业调度情况。它基于队列的任务处理机制,客户端使用 BackgroundJob 类的静态方法 Enqueue 来调用指定的方法或匿名函数,并将任务持久化到数据库。本文将完成一个任务调度中心,关于定时任务有多种处理方式,如果你的需求比较简单,比如就是单纯的过多少时间循环执行某个操作,可以直接使用.net core中内置的实现方式,新建一个类继承。解析服务,获取到我们的实列,所以我们可以在模块类中的。

2024-06-07 08:14:31 541

原创 基于.NetCore和ABP.VNext的项目实战八:使用Redis缓存数据

在Mag.Blog.Application层的AuthorizeService.cs中注入IAuthorizeCacheService,将查询到的数据添加到缓存当中。扩展方法,可以同时处理获取和添加缓存的操作,当缓存存在时,直接返回,不存在时,添加缓存,在。在对应的AppSettings.cs里面读取配置的Redis字符串。层的MagBlogConsts类下定义的缓存过期时间策略常量。的时候,不指定过期时间,那么我们的缓存就不会过期。中配置我们的缓存过期时间,当。层的模块类中添加依赖缓存模块。

2024-06-07 08:14:11 476

原创 基于.NetCore和ABP.VNext的项目实战七:全局异常处理并日志记录

中判断当前请求状态,当状态不是200,获取到状态码枚举的Key值用来当作错误信息返回,最后也执行。F5运行项目,调用 .../HelloWorld/Exception,查看日志文件。ABP框架已经默认为我们实现了全局的异常模块,这里我们自定义全局异常模块,先在。配置log4net,然后我们直接返回IHostBuilder对象,便于在。出现异常,也要能够记录日志,这里采用。的Filter,他需要实现我们的。方法,返回我们自定义的模型。方法,当没有异常发生时,在。,这样才会执行新建的中间件。

2024-06-04 08:21:18 485

原创 基于.NetCore和ABP.VNext的项目实战六:JWT(接入第三方GitHub进行身份认证)

认证与授权是两种含义:认证,是证明你的身份,你有账号密码,你可以登录进我们的系统,说明你认证成功了;一致时,就为其授权。然后编写生成token的方法,GitHub的这个API做了相应的安全机制,有一点要注意一下,当我们用代码去模拟请求的时候,需要给他加上。,生成Token,有了access_token,可以直接调用获取用户信息的接口,会得到一个json,将这个json包装成一个模型类。,因为是博客系统,管理员用户就只有我一个人,GitHub的用户Id是唯一的,我将自己的。,不然是不会成功返回结果的。

2024-06-04 08:20:46 952

原创 基于.NetCore和ABP.VNext的项目实战五:自定义消息返回,统一规范API

支持返回参数的api使用,T就是我们的返回结果,然后继承ServiceResult,指定T为class。层主要是公共的工具类、扩展方法,将统一返回模型放在这里,新建Base文件夹,新建Enum文件夹,定义一个。还需要返回带分页的数据,所以需要扩展一个分页的响应实体,当我们使用的时候,直接将分页响应实体作为上面写的。中的T参数,即可满足需求,新建文件夹PageList,添加总数接口。方法,当我们成功返回数据或者当系统出错或者参数异常的时候执行。,它同时也要接受一个泛型参数 T。,在构造函数中为其赋值。

2024-05-27 09:49:59 457

原创 基于.NetCore和ABP.VNext的项目实战四:自定义仓储的实现

上一章通过新建实体类,数据库迁移新建了数据库表,这一章实现自定义仓储,实现批量插入、更新的方法(abp框架中已经实现了默认的通用(泛型)仓储,,有着基本的标准的CRUD)。在领域层中创建仓储接口,、、、、,这里继承 以使用已有的通用仓储功能。 在层实现这些接口,这些类继续使用EFCore进行数据库操作,需要继承,和我们的仓储接口在和仓储接口的实现中新增了批量插入数据的方法。在服务层新建IServices和Services文件夹,分别为接口的服务

2024-05-27 09:49:32 399

原创 基于.NetCore和ABP.VNext的项目实战三:EFCore访问数据库和CodeFirst方式数据迁移

本篇主要使用Entity Framework Core完成对数据库的访问,以及使用Code-First的方式进行数据迁移,自动创建表结构。Nuget安装数据库迁移工具在Mag.Blog.EntityFrameworkCore项目中添加我们的数据访问上下文对象MagBlogDbContext,继承自。然后重写方法新建静态扩展类和扩展方法,用来配置实体。在.Domain层创建配置文件访问类appsettings.json中的设置值appsettings.json文件修改连接字符串。

2024-05-21 08:14:47 526

原创 基于.NetCore和ABP.VNext的项目实战二:Swagger

在Swagger文档中,默认只显示我们的Controller的名称,其实他也是支持描述信息的,这是就需要我们自行扩展了。手动为其初始化一些值,记录swagger的分组信息,在AddSwagger方法、UseSwaggerUI方法中遍历使用。代表API文档仅展开标记,不默然展开所有接口,需要我们手动去点击才展开,可以自行查看。方法中使用SwaggerUI。:定义一个变量,内容自拟主要是一些介绍性的描述,将在Swagger界面进行显示。方法中引用我们的XML文件,配置接口的名称版本以及描述信息,在。

2024-05-21 08:14:04 395

原创 基于.NetCore和ABP.VNext的项目实战一:abp cli 搭建项目

学习了阿星Plus的博客项目,自己也试着搭建自己的博客。ABP和ABP.VNext的主要区别在于核心库的精简、对领域驱动设计(DDD)的关注、以及使用的技术栈。1、ABP VNext的核心库相比ABP更加精简,它将原有许多组件从核心库中抽离成独立的组件,这使得开发者可以更灵活地选择需要的功能。这种设计使得ABP VNext更加模块化,但也意味着管理的独立项目数量增加。2、ABP VNext更加关注领域驱动设计,引入了聚合根、实体、值对象等概念,并提供了仓储模式和领域服务等基础设施。

2024-05-14 17:00:55 774

原创 Dapper的快速使用

Dapper是.NET下一个轻量级的ORM框架,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的。Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库。用vs2022创建一个新的控制台项目,名称为“sample01”,新建类Article.cs和Comment.cs。9、联查:comment表里面有四条关于article表ID=1的评论。1、测试插入单条数据到数据库。4、测试一次删除多条数据。3、测试删除单条数据。

2024-05-09 15:05:21 217

原创 ASP.NET Core日志管理(Serilog)

Nuget安装:Microsoft.EntityFrameworkCore.Sqlserver,Microsoft.EntityFrameworkCore.Tools。2、用于日志输出到SQLServer数据库Serilog.Sinks.MSSqlServer。1、用于日志输出到控制台Serilog.Formatting.Compact。3、用于日志输出到文件Serilog.Sinks.RollingFile。Nuget安装:Serilog.AspNetCore。

2024-05-02 10:30:00 560

原创 ASP.NET Core 高级组件:标识框架(identity)

一般的系统中都需要通过数据库保存用户、角色等信息,并且需要注册、登录、密码重置、角色管理等功能,但是ASP.NET Core提供了标识(identity)框架,内置了对用户、角色等表的管理及相关的接口,简化了系统的开发。3、创建继承自IdentityDbContext的类,EFCore中的上下文类,操作数据库,其中的3个泛型参数是用户类、角色类、主键类型。2、创建用户实体类User和角色实体类Role,分别继承自IdentityUser、IdentityRole,主键自增。9、实现密码重置功能。

2024-04-25 08:54:22 392

原创 .NetCore——自定义筛选器

开发一个实现请求限流器功能的操作筛选器,避免恶意客户端频繁发送大量请求而消耗服务器资源,实现“1s 内只允许最多有一个来自同一个IP地址的请求”,通过自定义操作筛选器实现:新建RateLimitFilter.cs。

2024-04-17 15:43:54 570

原创 性能优化“万金油”:缓存Cache

这边用一个不存在的ID查询就会一直返回null,如果一直大量的恶意用不存在的ID查询数据库,那么数据库就会承受非常大的压力,可能导致服务器崩溃,所以我们可以把“查不到”也加入到缓存中,这时候就可以使用GetOrCreateAsync方法,这个方法会把null当成合法的缓存值,就可以避免缓存穿透问题。分布式系统中,缓存数据是不能共享的,集群中每个节点的web应用都要加载一份数据到自己的内存缓存中,如果集群较多,这样重复的查询,重复的加载到分布式服务器缓存中,也是有可能压垮数据库服务器的。

2024-04-11 15:16:45 432 1

原创 EFCore高级技术:表达式树

一是自己构建表达式树,二是使用DynamicLinq,直接输入查询字符串。Func输出的结果只有参数、返回值类型,Expression中有内部运算逻辑,表示Expression对象存储了运算逻辑。表达式树(expression tree)是用树形数据结构来表示代码逻辑运算的技术,在运行时访问逻辑运算的结构。2、就算要构建运行时的动态查询,首先想到的,也是利用IQueryable的延迟执行和复用的特性来完成。所以,在实际项目中,除非是自己要开发一个框架,否则一般的业务项目,都极少会需要自己构建表达式树。

2024-04-01 15:15:41 261

原创 EFCore 反向工程(DBFirst)----慎用

使用EFCore时一般推荐code first,也就是先创建实体类,然后根据实体类生成数据表。但是有时候数据表已经存在,这时候就需要基于数据库表来创建实体类。

2024-04-01 14:09:16 492

原创 VS2022常用快捷键

Ctrl+K, Ctrl+D--------格式化全部代码 (如果这个不可以用的话,就应该是: Ctrl+K+D )查看上次阅读处\反上次查看处--------Ctrl+“-”Ctrl+Shift+“-”在当前行下面插入一个空行--------Ctrl+Shift+Enter。Ctrl+K,Crtr+U-------- 取消选定注释内容。Ctrl+Shitf+左右键--------选择整个的单词。Shift+Alt+Enter--------切换全屏编辑。

2024-03-21 10:02:31 3073

原创 Oracle SEQUENCE实现自增流水号,并设置定时任务每日清零

BYMINUTE=0;BYSECOND=0', -- 每天 0 点执行。start_date => SYSTIMESTAMP, -- 开始时间,可以设置为当前时间或者你需要的时间。--创建存储过程重置自增序列从1开始。--查询正在执行的jobs。

2024-03-21 10:02:05 927

原创 .net core 项目git .gitignore文件配置

【代码】.net core 项目git .gitignore文件配置。

2023-12-27 14:05:22 944

原创 WPF实战项目二十二(客户端):首页添加备忘录与待办事项

3、ViewModels新建Dialogs文件夹,新建AddMemoViewModel、AddToDoViewModel。1、在View文件夹下新建文件夹Dialog,新建View:AddMemoView、AddToDoView。2、IndexView中修改按钮,绑定方法:ExecuteCommand。5、在App.xmal.cs中注册弹窗。4、修改IndexViewModel。

2023-12-27 14:04:23 1199

原创 力软敏捷开发框架前后端基础

top.learun.frameTab.open({ F_ModuleId: "edit" + keyValue, F_FullName: "编辑" + name, F_UrlAddress: top.$.rootUrl + '/LR_CodeDemo/ProjectG/FormEdit?$('input:radio[name="F_ParticipateStatus"][value="参加"]')[0].checked = true;} else if (cellvalue == "已报价") {

2023-12-22 08:58:14 1445

原创 Devexpress设置gridcontrol行号

①②if (width!= 0)if (width!= 0)elseelse③。

2023-12-22 08:46:19 855

原创 C# 设置文本框只能输入数字和小数点

if ((int)e.KeyChar == 46) //小数点。//小数点不能在第一位。

2023-12-22 08:44:19 1184

原创 WPF实战项目二十一(客户端):设置默认首页

1、在Common文件夹里面新增接口IConfigureService,来专门配置启动过程设置的一些参数。2、MainViewModel中继承接口IConfigureService,并实现。3、在app.xmal.cs中初始化过程,重写方法。

2023-12-21 13:31:14 853

原创 WPF实战项目二十(客户端):完善待办事项、备忘录功能

4、在API中修改传入参数类型,在ToDoController中改成【ToDoParameter】1、修改删除部分的代码,在前台页面命令绑定DeleteCommand,并新增删除方法。6、将前台的SelectedIndex作为参数传递给后台,并修改查询数据方法。2、修改删除部分的代码,在前台页面命令绑定DeleteCommand。【待办事项】【备忘录】中设置搜索功能增加找不到数据的提示。【待办事项】的搜索修改完成,【备忘录也相应的修改】【待办事项】中增加筛选全部、待办、已完成功能。1、绑定多选框的索引。

2023-12-21 11:53:31 1199

原创 SQL中left join、right join、inner join等的区别

inner join,其实就是“join”,两个是表示一个的,内连接,表示以两个表的交集为主,查出来是两个表有交集的部分,其余没有关联就不额外显示出来。就是“左连接”,表1左连接表2,以左为主,表示以表1为主,关联上表2的数据,查出来的结果显示左边的所有数据,然后右边显示的是和左边有交集部分的数据。“右连接”,表1右连接表2,以右为主,表示以表2为主,关联查询表1的数据,查出表2所有数据以及表1和表2有交集的数据。1、inner join:inner join的数量小于等于左表和右表中的记录数量。

2023-12-01 16:32:46 3154 1

原创 WPF实战项目十九(客户端):修改RestSharp的引用

修改HttpRestClient,更新RestSharp到110.2.0,因为106版本和110版本的代码不一样,所以需要修改下代码。Baseservice.cs也要相应的修改。

2023-11-30 16:28:26 972

原创 WPF实战项目十八(客户端):添加新增、查询、编辑功能

8、SearchCommand搜索事件可以和上面AddCommand合并到一起,【添加待办】按钮设置事件:ExecuteCommand,参数设置="新增",查找框设置成ExecuteCommand,参数设置="查询"7、绑定搜索输入框,首先定义一个属性,前台绑定输入框的值Search,给输入框添加回车事件。12、【保存】事件,按钮添加绑定事件,修改Excute方法、新增Add方法和Save方法。1、ToDoView.xmal添加引用,添加微软的行为类。5、前台绑定文本标题、内容、状态。

2023-11-30 16:28:24 1927

原创 WPF实战项目十七(客户端):数据等待加载弹框动画

1、在Common文件夹下新建文件夹Events,新建扩展类UpdateLoadingEvent。2、新建一个静态扩展类DialogExtensions来编写注册和推送等待消息弹框方法。3、在ViewModel中添加实现类NavigationViewModel。5、在View文件夹下新建用户控件ProgressView.xmal。4、在主窗体MainView.xmal中给弹窗界面命名。6、在MainView.xmal.cs中注册消息。

2023-11-23 16:59:23 2125

原创 JsonConvert.DeserializeObject 转实体对象时当中的空值处理

null)

2023-11-23 09:41:10 1518

原创 WPF实战项目十六(客户端):备忘录接口

2、新增MemoService类,继承BaseService和IMemoService接口。1、新增IMemoService接口,继承IBaseService接口。5、重新编写获取备忘录信息代码,CreateMemoList。4、在MemoViewModel.cs中添加备忘录的服务。3、在App.xmal.cs中注册备忘录的服务。

2023-11-23 09:38:12 745

原创 SQL语法常用总结

SELECT DISTINCT NAME FROM all_source --系统表。WHERE TYPE = 'PROCEDURE' --类型为存储。--查询SPE1字符串中第一个逗号和第三个逗号之间的字符串。--查询所有存储当中是否用了tabel_A这个表。--将字符串时间转化成时间格式比较。--sql比较两个字符串是否包含。--查询所有存储中是否使用A字段。--case when 语句。--判断字符串空值就赋值为0。--截取字符前或后面的字符串。--查询正在运行的job。--like语句优化。

2023-11-22 16:40:37 399

原创 WPF实战项目十五(客户端):RestSharp的使用

10、修改ToDoViewModel的代码,添加ToDoService服务,修改CreateToDoList 代码。12、F5启动项目,点击【待办事项】,显示了待办事项的列表这和webapi中返回的待办事项Json数据一样。8、新增ToDoService类,继承BaseService类和接口IToDoService。9、在客户端App.xaml中注册httprestclient、注册默认服务的地址、注册服务。7、新增IToDoService接口,继承IBaseService接口。

2023-11-22 16:09:23 2209

原创 WPF实战项目十四(API篇):登录注册接口

4、新增登录控制器LoginController。2、新增ILoginService接口。6、在program.cs里面添加服务。3、实现LoginService接口。5、添加AutoMapper映射关系。1、新建UserDto.cs。

2023-08-31 16:34:18 1297

原创 WPF实战项目十三(API篇):备忘录功能api接口、优化待办事项api接口

9、在IToDoService.cs和IMemoService.cs中添加分页查询的接口。10、在ToDoService.cs中实现接口和MemoService.cs中实现接口。8、针对查询数据可以做个优化,增加查询的页数、内容、数据量等,新建查询参数类。11、在ToDoController和MemoController中添加代码。3、新建服务接口IMemoService。4、新建服务MemoService。6、在program.cs添加服务。1、新建MenoDto.cs。

2023-08-29 16:19:36 1369

原创 WPF实战项目十二(API篇):配置AutoMapper

1、新建类库WPFProjectShared,在类库下新建文件夹Dtos,新建BaseDto.cs,继承INotifyPropertyChanged,实现通知更新。4、在api层引入AutoMapper,并新建文件夹Extensions,新建帮助类AutoMapperProFile.cs,继承ProFile。6、IToDoService.cs修改代码传入ToDoDto,相应的ToDoService.cs的代码也要修改。3、新建待办事项传输实体TodoDto.cs,继承BaseDto.cs。

2023-08-24 14:09:47 1677

.NET Core 生成JWT令牌源码

.NET Core JWT(JSON Web Token)是一种用于身份验证和授权的开放标准。它是一种轻量级的安全令牌,用于在不同的应用程序或服务之间传递身份验证信息。 JWT由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。头部包含了令牌的类型和加密算法等信息,载荷包含了一些声明信息,如用户ID、角色等,签名用于验证令牌的完整性和真实性。 使用.NET Core JWT可以实现以下功能: 身份验证:通过验证JWT令牌中的签名,可以确认用户的身份和权限。 授权:在JWT的载荷中可以包含用户的角色或其他权限信息,通过解析令牌可以判断用户是否有权访问某些资源或执行某些操作。 单点登录(SSO):用户在登录一个应用程序后,可以通过JWT令牌在其他应用程序中进行身份验证,实现单点登录的效果。 在.NET Core中,可以使用Microsoft.IdentityModel.Tokens库来处理JWT。该库提供了一些类和方法,用于生成和验证JWT令牌。可以使用SymmetricSecurityKey或AsymmetricSecu

2024-04-27

FTP上传下载文件源码

通过C#程序,编写的FTP上传下载文件源码

2024-04-27

力软Learun敏捷开发框架源码v7.0,开发手册

力软.NET低代码快速开发平台,是一个Web可视化开发平台,是一个集PC和APP快速开发代码生成器+通用权限管理+工作流+即时通讯+微信组件+手机APP开发+表单设计+自定义报表+BI大屏等全方位功能于一体的高效、稳定的快速开发平台。 可以扩展开发OA、CRM、ERP、MES、人事管理、资源管理等各种管理系统,支持sqlserver、oracle、MySQL、redis、postgreSQL、达梦、人大金仓等数据库,提升90%的开发效率,降低80%的人工成本。

2023-05-25

文件的上传下载帮助类,支持大文件

输出硬盘文件,提供下载 支持大文件、续传、速度限制、资源占用小,上传文件

2024-04-25

异步线程编程事例,C#托管代码实现的线程池

用C#托管代码实现的线程池 它在管理线程的时候,有一个缓存线程的池,即一个ArrayList对象 它一开始就初始化了一定数量的线程,并通过ProcessQueuedItems方法保证异步执行进入池中的队列任务(那个死循环有时可能导致CPU过分忙碌), 这样在分配异步任务的时候,就省去了频繁去创建(new)一个线程

2024-04-25

Redis帮助类,为基本的设置数据和取数据

* servicestack.redis为github中的开源项目 * redis是一个典型的k/v型数据库 * redis共支持五种类型的数据 string,list,hash,set,sortedset * * string是最简单的字符串类型 * * list是字符串列表,其内部是用双向链表实现的,因此在获取/设置数据时可以支持正负索引 * 也可以将其当做堆栈结构使用 * * hash类型是一种字典结构,也是最接近RDBMS的数据类型,其存储了字段和字段值的映射,但字段值只能是 * 字符串类型,散列类型适合存储对象,建议使用对象类别和ID构成键名,使用字段表示对象属性,字 * 段值存储属性值,例如:car:2 price 500 ,car:2 color black,用redis命令设置散列时,命令格式

2024-04-24

Csv文件导入导出帮助类

1、导出报表为Csv 将DataTable导出到指定物理路径(表头,字段标题,逗号分隔) 2、将Csv读入DataTable 保存到csv文件路径,表示第n行是字段title,第n+1行是记录开始

2024-04-24

日期转换帮助类,常用于报表开发

1、用户在UI上选择日期; 2、系统计算出今天的起始时间(****年**月**日 00:00:00)和今天的结束时间(****年**月**日 23:59:59); 3、系统根据根据该日期范围到数据库取出该日期范围的数据。 可以转换成为:本日开始时间、本日结束时间、本周开始时间、本周结束时间、本月开始时间、本月结束时间、本年开始时间、本年结束时间。

2024-04-24

FTP文件上传下载帮助类

上面的代码实现了 1、从ftp服务器上下载文件的功能。这不同于之前所提到的上传功能,下载需要一个响应流,它包含着下载文件的内容。这个下载的文件是在FtpWebRequest对象中的uri指定的。在得到所请求的文件后,通过FtpWebRequest对象的GetResponse()方法下载文件。它将把文件作为一个流下载到你的客户端的机器上。 2、示例了ftp的上传功能。创建一个指向某ftp服务器的FtpWebRequest对象,然后设置其不同的属性Credentials,KeepAlive,Method,UseBinary,ContentLength。打开本地机器上的文件,把其内容写入ftp请求流。

2024-04-24

WinForm全局异常捕获方法

C# WinForm全局异常捕获方法 在主程序入口设置应用程序处理异常方式:ThreadException处理 处理UI线程异常和非UI线程异常 生成自定义异常消息,显示异常对象 备用异常消息:当ex为null时有效和异常字符串文本

2024-04-24

ZebraDesigner for Developers 3 打印程序

ZebraDesigner for Developers 3 斑马打印机打印程序, 使用 ZebraDesigner for Developers 软件快速创建自定义标签和收据模板。

2024-04-08

手写识别demo.rar

调用 百度智能云API识别手写照片文档

2024-01-03

WPF界面设计(MaterialDesignThemes)

依托框架MaterialDesignThemes,进行纯基础界面设计,运用阿里巴巴素材库素材文件iconfont.ttf,与WPF基础之界面设计配套源码

2023-07-07

c# 使用Renci.SshNet.dll操作SFTP,实现数据传输

c# 使用Renci.SshNet.dll操作SFTP,实现数据传输,文件版本2016.1.0.0

2023-06-28

C#三层代码生成器源码.rar

C# winform三层架构代码生成器,支持sqlserver、MySQL、oracle、sqlite等数据库,可以自己修改源码

2023-05-29

MES源码-生产管理系统源码

生产管理系统winform,运用反射的技术,采用动态加载DLL的模式; 可以实现版本的自动更新

2023-05-29

ModbusTcp 封装好的Modbus协议的类库

遵循modebus协议的PLC,例如汇川等PLC,C#上位机可以通过ModbusTcp.dll这个封装好的类库直接读写PLC数据

2023-05-24

TwinCAT.Ads.dll 倍福PLC ADS通讯帮助类库

TwinCAT.Ads.dll 倍福PLC ADS通讯帮助类库; TcAdsClient tcAds = null; tcAds = new TcAdsClient(); tcAds.Connect(801);// twincat2用的801,twincat3用的851 int v = 0;//声明变量 v = tcAds.CreateVariableHandle(".GVL.v");// .GVL.v 是PLC中的变量 twincat2 前面要加个点,twincat3则不需要 然后可以通过tcAds来读写数据到PLC .... .... tcAds.DeleteVariableHandle( v );//删除句柄 tcAds.Disconnect(); tcAds.Dispose();//断开连接

2023-05-24

实用的windows 屏幕取色器,开发必备工具

实用的windows 屏幕取色器,开发必备工具; 解压可以直接使用,双击Colors.exe就可以提取颜色代码了。

2023-05-18

oracle数据库查询sql标点添加工具

例如: 1 2 3 4 转化成 '1', '2', '3', '4' 方便用于在PLSQL里面用IN 语句查询数据

2023-05-18

.net core从零开始学习

.net core 6.0 webapi Resful风格; EFCore的使用,异步编程,搭建EFCore开发环境,CURD; Linq语法的使用; 依赖注入; 日志系统Nlog的使用; 缓存的详解,内存缓存,分布式缓存; JWT的基本使用; SignalR的基本介绍,前后端例子的使用; DDD领域驱动设计的简单介绍;

2023-05-18

.net core6.0 webapi 后端项目框架源码,配置sqlserver数据库连接字符串,开箱即用

.net core 6.0 webapi Resful风格; 采用仓储+服务+接口的形式封装框架; 基于AOP切面的Redis缓存; 使用 Swagger 做api文档; 使用 Automapper 处理对象映射; 使用 AutoFac 做依赖注入容器,并提供批量服务注入; 支持 CORS 跨域; 封装 JWT 自定义策略授权; 接入国产数据库ORM组件 —— SqlSugar,封装数据库操作; 基于log4net的全局异常处理; 自定义全局消息返回格式; 可配合 Docker 实现容器化; 可配合 Jenkins 实现CI / CD; 可配合 Nginx 实现负载均衡;

2023-05-16

C#Winform 图标 ico png

C#Winform 图标,用于程序开发,ico、png等 16*16、32*32等等不同尺寸

2018-01-15

二维码生成工具,编码,译码

二维码生成,读取

2020-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除