nuget

[LINQ2Dapper]最完整Dapper To Linq框架(一)---基础查询

 ̄綄美尐妖づ 提交于 2020-05-03 16:43:01
此框架是Dapper的扩展,效率优于EntityFramwork,并且支持.NetFramework和.NetCore框架 支持.net framework4.5.1,.net core2.0及以上,更低版本适配如.netFramework4.0及以下请加群下载 支持Mssql,Oracle,Mysql等数据库 应用层需要引用包Kogel.Dapper.Extension.MsSql(如果数据库是Oracle则引用Kogel.Dapper.Extension.Oracle),Nuget上可以下载安装。 或者使用Nuget命令添加包 Install-Package Kogel.Dapper.Extension.MsSql   目录 [LINQ2Dapper]最完整Dapper To Linq框架(一)---基础查询 [LINQ2Dapper]最完整Dapper To Linq框架(二)---动态化查询 [LINQ2Dapper]最完整Dapper To Linq框架(三)---实体类关系映射 [LINQ2Dapper]最完整Dapper To Linq框架(四)---Linq和SQL并行使用 [LINQ2Dapper]最完整Dapper To Linq框架(五)---查看Linq实际执行的SQL [LINQ2Dapper]最完整Dapper To Linq框架(六)--

BS模式实现SignalR技术开发

99封情书 提交于 2020-05-02 21:08:50
前言 最近一段时间因目前在职公司的一些情况及个人的职业规划,参加面试几家金融股票应用软件及信息管理的企业,对于问的比较统一的或是比较多的就是如何利用服务器的消息推送实现股票证券行情的实时更新,根据个人的项目总结及网上其他博主的资源总结了利用SignalR技术实现实施更新。 SignalR概述 Asp.net SignalR是微软为实现实时通信的一个类库。一般情况下,SignalR会使用JavaScript的长轮询(long polling)的方式来实现客户端和服务器通信,随着Html5中WebSockets出现,SignalR也支持WebSockets通信。另外SignalR开发的程序不仅仅限制于宿主在IIS中,也可以宿主在任何应用程序,包括控制台,客户端程序和Windows服务等,另外还支持Mono,这意味着它可以实现跨平台部署在Linux环境下。   SignalR内部有两类对象: Http持久连接(Persisten Connection)对象:用来解决长时间连接的功能。还可以由客户端主动向服务器要求数据,而服务器端不需要实现太多细节,只需要处理PersistentConnection 内所提供的五个事件:OnConnected, OnReconnected, OnReceived, OnError 和 OnDisconnect 即可。 Hub(集线器)对象:用来解决实时

事件总线功能库,Reface.EventBus 详细使用教程

最后都变了- 提交于 2020-05-02 16:00:39
Reface.AppStarter 中的事件总线功能是通过 Reface.EventBus 提供的。 参考文章 : Reface.AppStarter 框架初探 使用 Reface.EventBus ,你可以在 Reface.AppStarter 框架外使用事件总线的功能。 Reface.EventBus 提供了两个版本的包 Reface.EventBus 、 Reface.Core.EventBus ,分别工作在 .Net Framework 和 .Net Core 平台上。 除了一些细节的不同,这两个版本的使用方法完全相同。 基本篇 下面我们一起来了解如何使用 Reface.EventBus 来 定义事件 、 定义监听器 、 注册监听器 、 发布事件 。 定义事件 事件是一个单独类型,它继承于 Reface.EventBus.Event 或 其子类 , 我们先看看 Event 的定义 public class Event { public object Source { get; private set; } public Dictionary<string, object> Context { get; private set; } public Event(object source) { if (source == null) throw new

每秒生成一千万个【可视有序】分布式ID的简单方案

荒凉一梦 提交于 2020-05-02 12:27:34
去年做了一个产品,会经常导入导出大量的外部数据,这些数据的ID有的是GUID类型,有的是字符串,也有的是自增。GUID类型没有顺序,结果要排序得借助其它业务字段,整体查询效率比较低;字符串ID本来是用来转换GUID的或者数字ID的,结果有些字符串ID不符合规范,常常有特殊数据需要处理;自增主键ID的数据导入合并经常有冲突。 为了避免GUID主键的“索引页分裂”问题,提高查询效率,同时为了解决分布式环境下的数据导入合并问题,强烈需要一种分布式的,有序的ID生成方案。我参考了雪花ID(Twitter-Snowflake,64位自增ID算法)实现方案,设计一个更容易肉眼观察数值连续有序的分布式ID方案。 跟雪花ID方案一样,都是使用时间数据做为生成ID的基础,不同的在于对数据的具体处理方式。另外,为了确保每台机器ID的不同,可以配置指定此ID,在应用程序配置文件中如下配置: <!-- 分布式ID标识,3位整数,范围101-999 大小 --> < add key ="SOD_MachineID" value ="101" /> 如果不配置分布式ID,默认将根据当前机器IP随机生成3位分布式机器ID。 该算法的实现比雪花算法简单不少,详细的不多说,先直接看代码: /// <summary> /// 获取一个新的有序GUID整数 /// </summary> /// <param name=

C#多线程(16):手把手教你撸一个工作流

感情迁移 提交于 2020-05-02 11:36:53
目录 前言 节点 Then Parallel Schedule Delay 试用一下 顺序节点 并行任务 编写工作流 接口构建器 工作流构建器 依赖注入 实现工作流解析 前言 前面学习了很多多线程和任务的基础知识,这里要来实践一下啦。通过本篇教程,你可以写出一个简单的工作流引擎。 本篇教程内容完成是基于任务的,只需要看过笔者的三篇关于异步的文章,掌握 C# 基础,即可轻松完成。 C#多线程(13):任务基础① C#多线程(14):任务基础② C#多线程(15):任务基础③ 由于本篇文章编写的工作流程序,主要使用任务,有些逻辑过程会比较难理解,多测试一下就好。代码主要还是 C# 基础,为什么说简单? 不包含 async 、await 几乎不含包含多线程(有个读写锁) 不包含表达式树 几乎不含反射(有个小地方需要反射一下,但是非常简单) 没有复杂的算法 因为是基于任务(Task)的,所以可以轻松设计组合流程,组成复杂的工作流。 由于只是讲述基础,所以不会包含很多种流程控制,这里只实现一些简单的。 先说明,别用到业务上。。。这个工作流非常简单,就几个功能,这个工作流是基于笔者的多线程系列文章的知识点。写这个东西是为了讲解任务操作,让读者更加深入理解任务。 代码地址: https://github.com/whuanle/CZGL.FLow 这两天忙着搬东西,今天没认真写文章

net core Webapi基础工程搭建(三)——在线接口文档Swagger

 ̄綄美尐妖づ 提交于 2020-05-02 09:57:21
[toc] 前言 前后分离的好处,就是后端埋头做业务逻辑功能,不需要过多考虑用户体验,只专注于数据、性能开发,对于前端需要的数据可以通过组Json或者其他方式回调,但是前后两端需要确定好接口Api的规范,并且前端如果需要查看接口的相关信息,就需要文档的支撑了。那么问题来了,后端在开发过程中每次改动接口,都需要改动文档,累不累。 Swagger Swagger作为一个在线文档,通过后端的接口控制器生成一套Json串数据,实时展示后端的接口请求地址,参数,类型以及回调,很好的解决这个问题(后端可以给前端一个Swagger的地址,然后来句你自己看吧,当然还是需要多沟通的),这个在Java里用过之后,就马上看看有没有.net的版本,果然,语言都是相通的,废话不多说,开始 第三方类库的引用 。 NuGet引用第三方类库 工具->NuGet包管理器->管理解决方案的NuGet程序包... 在 浏览 中查找"Swashbuckle.AspNetCore",选择项目工程,点击安装。 引入完成后,在Startup.cs文件ConfigureServices中,加入以下代码: public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion

Swagger实现Api(基于.NET core 2.2)

和自甴很熟 提交于 2020-05-02 09:56:52
创建.NET core WebApi 1.打开vs选中新建项目- >选中.NET Core - >ASP.NET Core Web应用程序: 2.选择WebApi,这里我选择的是.NET core2.2为目前最新版本 3.创建好的项目结构 4.查看效果 使用浏览器打开项目查看效果: http://localhost:端口号/api/values 5.创建测试控制器类,允许跨域访问 控制器路由: [Route("api/Test")] 访问地址: http://localhost:端口号/api/Test/5 跨域处理 Core WebAPI的项目中自带了跨域Cors的处理,不需要单独添加程序包。我们只需要在全局配置处配置就可以了,打开Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddCors(options => { options.AddPolicy("any", builder => { builder.AllowAnyOrigin() //允许任何来源的主机访问 .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials();//指定处理cookie }); }); }

Web Api 接口测试工具:Swagger

你离开我真会死。 提交于 2020-05-02 09:24:18
前言:WebApi接口开发完毕后,交付给前端人员或手机端开发者时接口说明文档是必不可少的配套设备,如果公司流程不规范大家使用口口相传的交接方式,而且没有改进的欲望,那你可以到此为止了。Swagger是方便测试接口,快速展示注释内容,生成Restful风格接口文档的框架。 一、Swagger介绍 Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因: Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。 Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。 Swagger 文件可以在许多不同的平台上从代码注释中自动生成。 Swagger 有一个强大的社区,里面有许多强悍的贡献者。 按照下述步骤操作,你就能在WebApi中使用Swagger,本文做测试用的版本v5.6.0,好好看吧,如果有可改进的地方,欢迎大家留言。 二、Swagger展示 第一印象:接口列表。 点击某一个接口查看接口详细 点击Try it out 三、Swagger的使用 1、如何引入组件 首先,我们需要定义一个API项目 然后通过Nuget引入组件,如下图 2、如何使用组件 1、 打开解决方案属性-->生成,勾选XML文档文件,保存就ok。 2、SwaggerNet类中,注释类上面的两行 3、如果运行出现以下错误,则更改配置文件web

【WebAPI No.4】Swagger实现API文档功能

廉价感情. 提交于 2020-05-02 09:23:31
介绍: Swagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案。简单的说就是一款让你更好的书写API文档的框架。 我们为什么选择swagger,现在的网站开发结果越来越注重前后端的分离,比如以前的webFrom到现在的mvc模式都是为了这个前后端的分离。就算再如何的分离实现,也是不可避免的要进行数据交互的,那么接口的重要性就提现出来了。他成了前端和后端交互的重要途径,API文档也因此成了前端开发人员与后端开发人员的重要纽带。所有我们有一个API文档框架岂不是美哉。 Swashbuckle有三个主要组件: Swashbuckle.AspNetCore.Swagger:Swagger对象模型和中间件,将SwaggerDocument对象公开为JSON端点。 Swashbuckle.AspNetCore.SwaggerGen:一种Swagger生成器,可SwaggerDocument直接从路由,控制器和模型构建对象。它通常与Swagger端点中间件结合使用,以自动公开Swagger JSON。 Swashbuckle.AspNetCore.SwaggerUI:Swagger UI工具的嵌入式版本。它将Swagger JSON解释为构建丰富的,可定制的Web API功能描述体验。它包括用于公共方法的内置测试线束

Swagger实现API文档功能

生来就可爱ヽ(ⅴ<●) 提交于 2020-05-02 09:23:19
介绍: wagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案。简单的说就是一款让你更好的书写API文档的框架。 我们为什么选择swagger,现在的网站开发结果越来越注重前后端的分离,比如以前的webFrom到现在的mvc模式都是为了这个前后端的分离。就算再如何的分离实现,也是不可避免的要进行数据交互的,那么接口的重要性就提现出来了。他成了前端和后端交互的重要途径,API文档也因此成了前端开发人员与后端开发人员的重要纽带。所有我们有一个API文档框架岂不是美哉。 Swashbuckle有三个主要组件: Swashbuckle.AspNetCore.Swagger:Swagger对象模型和中间件,将SwaggerDocument对象公开为JSON端点。 Swashbuckle.AspNetCore.SwaggerGen:一种Swagger生成器,可SwaggerDocument直接从路由,控制器和模型构建对象。它通常与Swagger端点中间件结合使用,以自动公开Swagger JSON。 Swashbuckle.AspNetCore.SwaggerUI:Swagger UI工具的嵌入式版本。它将Swagger JSON解释为构建丰富的,可定制的Web API功能描述体验。它包括用于公共方法的内置测试线束。