.NET Core

NoSQL之一:Memcached

会有一股神秘感。 提交于 2020-08-11 02:19:05
一、NoSQL简介 NoSQL并不是No SQL(不再需要SQL),而是指Not Only SQL(不仅仅只有SQL)。NoSQL并不是用来替代关系型数据库的,而是在某些使用关系型数据库不合适的场景中,可以使用NoSQL数据库进行优化,而在系统中主要的、常规的数据仍然使用关系型数据库。   常用的NoSQL数据库有Memcached、Redis、MongoDB等,其中前两者属于键值对数据库,后者属于文档数据库。它们都有各自的优缺点以及使用场景。 二、Memcached介绍与安装 Memcached是一个专门用来做缓存的数据库,缓存的数据都是在内存当中,当数据库重启之后,数据也就都丢失了。其相当于一个Dictionary键值对集合,根据Key值取Value值。   1、Memcached安装    从网上下载Memcached-win64-1.4.4-14.zip安装包。解压后,通过管理员权限执行如下命令,可将其安装成服务: G:\MemcachedAfterInstall>memcached.exe -d install   2、Memcached可视化工具     TreeNMS是一款Redis、Memcached可视化客户端工具,实现基于Web方式对Redis、Memcached数据库进行管理、维护。可通过如下链接 http://www.treesoft.cn/dms.html

FreeSql 扩展包实现 Dapper 的使用习惯

橙三吉。 提交于 2020-08-11 02:04:03
简介 FreeSql.Connection.Extensions 这是 FreeSql 衍生出来的扩展包,实现(Mysql/postgresql/sqlserver/Oracle/SQLite)数据库连接对象扩展方法,像 Dapper 一样的使用习惯。QQ群:4336577(已满)、8578575(在线) 快速上手 dotnet add package FreeSql.Connection.Extensions 测试实体类 class TestConnectionExt { public Guid id { get; set; } public string title { get; set; } public DateTime createTime { get; set; } = DateTime.Now; } 查询 和 FreeSql 一样的查询方法。 using (var conn = new MySqlConnection(_connectString)) { var list = conn.Select<TestConnectionExt>().Where(a => a.id == item.id).ToList(); } 插入 和 FreeSql 一样的插入方法。 using (var conn = new MySqlConnection(_connectString)

龙芯开源社区上线.NET主页

ε祈祈猫儿з 提交于 2020-08-11 01:45:48
龙芯团队从2019年7 月份开始着手.NET Core的MIPS64支持研发,经过将近一年的研发,在2020年6月18日完成了里程碑性的工作,在github CoreCLR 仓库: https://github.com/gsvm/coreclr , 随后受到.NET社区的很大参与热情鼓舞之下,2020年7月7日,龙芯团队在github发布了 corefx: https://github.com/gsvm/corefx 、core-setup : https://github.com/gsvm/core-setup 。 2020年7月9日,龙芯团队发布了 dotnet 运行时、aspnet core 运行时与 sdk 的 EA 版本,见 loongson-dotnet/releases 。同时在龙芯开源社区上线了.NET主页: http://www.loongnix.org/index.php/Dotnet 。据主页上的介绍龙芯版本 .NET 平台正在开发阶段,该平台基于 .NET Core ,初始版本为3.0,后续会升级至3.1。欢迎贡献 相关文章: 龙芯团队完成CoreCLR MIPS64移植,已在github开源 dotnet core 在 MIPS64 下的移值进度:EA 版本已经发布 来源: oschina 链接: https://my.oschina.net/u

这年头做开源项目,被冷嘲热讽,FreeSql 0.0.4

心已入冬 提交于 2020-08-11 00:19:34
FreeSql 项目大概在20天前想着要做的,今天发布0.0.4在群里被一位大神讽刺。 这位无名氏哥们的观点,先声明这不是找安慰的文章,更加不是报复打击的目的。 1 所以这个比EF好在哪里 2 毕竟EF是官方的技术,你自己造的轮子得说明自己哪里不是重复造轮子,而不是问已有的轮子到底怎么样 3 EF完全可以胜任并且超出一个ORM框架需要的所有功能 4 你可以觉得EF不够好,自己做一个更好的,但是这建立在你能指出EF哪里不好的前提下 5 另外插入一个话题,[图片]这个项目引用 很显然 这违背了.NET Core的小包思想,四个字,按需引用 6 这根本就不是什么拆包的问题,而是在开发的时候就是小包,你不了解.NET Core的思想,每必要非得说自己是正确的,有人教你,你就虚心接受,没什么大不了的 7 你target了.NET Standard,却走的是原来的那一套思路, 8 在接受一个新的平台的时候,你需要接受它的思想 9 不要重复造轮子,你如果觉得ef有缺陷,哪不好,自己提issue,给pull request,如果你觉得ef一无是处,你自己做,那也得说明它比ef好在哪里,是吧 10 你和ef的区别在于你把sql语句暴露出来了,而ef是使用IQueryable来完全封装sql的 11 IQueryable是一个标准接口,你要标新立异,本来就是兼容性很差的 12

基于 abp vNext 和 .NET Core 开发博客项目

ぃ、小莉子 提交于 2020-08-10 22:28:48
上一篇文章( https://www.cnblogs.com/meowv/p/12896177.html )已经成功创建了博客项目,但是abp默认给我们引用了许多项目中用不到的组件。 本篇文章将给项目进行瘦身,删掉对我们来说暂时用不到的组件。讲解各个模块之间的关系,写一个Hello World,让其成功运行起来。 给项目瘦身 Meowv.Blog.HttpApi.Hosting Meowv.Blog.HttpApi.Hosting 相当于一个web项目,但这里主要依赖于 Meowv.Blog.HttpApi 模块,用来暴露我们的API的。 删掉 Meowv.Blog.HttpApi.Hosting 项目中abp自己生成的文件和文件夹,只留下 Program.cs 和 Startup.cs 两个类。 在abp中,每个模块都应该定义一个模块类,派生自 AbpModule ,那么就添加一个模块类 MeowvBlogHttpApiHostingModule.cs AbpModule 类中可以做 配置服务前和后的操作,应用程序初始化,应用程序初始化前和后,应用程序关闭和模块依赖等一系列操作,详看, https://docs.abp.io/en/abp/latest/Module-Development-Basics 为了方便,在这里直接集成Autofac,来替换官方依赖注入,详看,

.NET Core ResponseCache【缓存篇(一)】

喜夏-厌秋 提交于 2020-08-10 21:54:24
一、前言    源码    1、最近一直在看项目性能优化方式,俗话说的好项目优化第一步那当然是添加缓存,我们的项目之所以卡的和鬼一样,要么就是你的代码循环查询数据库(这个之前在我们的项目中经常出现,现在慢慢在修正)或者代码做了很多不该做的事情。这个时候就可以引入我们的缓存了。(只要你的代码不是写的特别差,比如之前实习的我)。   2、缓存主要分为两种 客户端(浏览器缓存)、服务端缓存。 当我们的数据不需要及时返回的时候,可以考虑将页面缓存到客户的浏览器中进行保存,在一定的时间内访问直接读取浏览器缓存的信息。我们通过设置HTTP的响应头 Cache-Control 来完成页面存储到浏览器缓存中如下所示: 二、客户端(浏览器缓存)   1、在老的版本的MVC里面,有一种可以缓存视图的特性 (OutputCache) ,可以保持同一个参数的请求,在N段时间内,直接从mvc的缓存中读取,不去走视图的逻辑。 // 老版本的.NET 做法 [OutputCache(Duration = 20 )] // 设置过期时间为20秒 public ActionResult ExampleCacheAction() { var time=DateTime.Now.ToString( " yyyy年MM月dd日 HH时mm分ss秒 " ); ViewBag.time = time; return View

.NetCore MVC 3.0 项目 区域路由配置及使用

那年仲夏 提交于 2020-08-10 21:00:45
参考文档: https://www.cnblogs.com/Allen0910/p/6629507.html https://blog.csdn.net/dupeng0811/article/details/90616546 首先需要在 Configure 方法中的默认路由配置下边添加区域路由配置 1 app.UseEndpoints(endpoints => 2 { 3 endpoints.MapControllerRoute( 4 name: " default " , 5 pattern: " {controller=Home}/{action=Index}/{id?} " ); 6 7 // 区域路由配置 8 endpoints.MapAreaControllerRoute( 9 name: " areas " , " areas " , 10 pattern: " {area:exists}/{controller=Home}/{action=Index}/{id?} " ); 11 12 }); 项目中默认控制器里分别有HomeController 和 TestController 两个控制器及View视图,待会儿添加区域模块之后,要和这两个默认的控制器做访问对比 然后接下来需要手动添加一个文件夹, 名字:Areas (必须用这个名字),在该文件夹下创建一个 Users

手把手撸套框架-放弃SqlSugar转用FreeSql

不打扰是莪最后的温柔 提交于 2020-08-10 20:14:04
目录 在之前的随笔中:  1.1: ORM的选择  1.2: SqlSugar的搭建与避坑 分别有讲过SqlSugar 和 FreeSql,我最后选用了Sqlsugar,今天又写一遍,放弃SqlSugar 转用FreeSql。 起始,说起来有点啪啪打脸的意思, 但其实不是。 写第一篇 ORM的选择的时候 大约是两个月前,只是最近发到博客园。 当时的情况就是,急需一个ORM框架快速上手做开发,现在两个月过去了。我到新公司开发的第一个项目,也结束了。 虽然不算深度使用SqlSugar,但是 也算是 熟悉了。 确实对于新手刚入坑的来说,sqlsugar是最简单,容易上手的,但是用一段时间就会发现了 sqlsugar的短板还是比较明显。 第一,编写风格。 尤其是在连表查询的时候,sqlsugar 的风格老是感觉怪怪的: 对比,FreeSql 则用起来 舒爽很多: 第二: 稳定性 这里,Freesql 目前不算深度使用,但是写过一两个demo,感觉还是很不错。 但是Sqlsugar 在之前项目的使用中 有遇到过,Update 数据失败的问题,使用的是Oracle 数据库,用的是SimpleClient ,不是每张表都失败,有的表修改能成功。 这里我没有去详细排查 究竟是以为哪个字段有问题还是这么,后来为了避免这种问题,全部使用的 SqlSugarClient,同样的表

.NET Core Session源码探究

不想你离开。 提交于 2020-08-10 17:56:36
前言 随着互联网的兴起,技术的整体架构设计思路有了质的提升,曾经Web开发必不可少的内置对象Session已经被慢慢的遗弃。主要原因有两点,一是Session依赖Cookie存放SessionID,即使不通过Cookie传递,也要依赖在请求参数或路径上携带Session标识,对于目前前后端分离项目来说操作起来限制很大,比如跨域问题。二是Session数据跨服务器同步问题,现在基本上项目都使用负载均衡技术,Session同步存在一定的弊端,虽然可以借助Redis或者其他存储系统实现中心化存储,但是略显鸡肋。虽然存在一定的弊端,但是在.NET Core也并没有抛弃它,而且结合了更好的实现方式提升了设计思路。接下来我们通过分析源码的方式,大致了解下新的工作方式。 Session如何使用 .NET Core的Session使用方式和传统的使用方式有很大的差别,首先它依赖存储系统IDistributedCache来存储数据,其次它依赖SessionMiddleware为每一次请求提供具体的实例。所以使用Session之前需要配置一些操作,详细介绍可参阅微软官方文档 会话状态 。大致配置流程,如下 public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration

在阿里云函数计算上部署.NET Core 3.1

。_饼干妹妹 提交于 2020-08-10 17:28:26
使用阿里云ECS或者其他常见的VPS服务部署应用的时候,需要手动配置环境,并且监测ECS的行为,做补丁之类的,搞得有点复杂。好在很多云厂商(阿里云、Azure等)提供了Serverless服务,借助于Serverless,开发人员可以更加专注于代码的开发,减少运维的成本。 Azure的部署直接集成在了VS中,非常方便,本文主要介绍一下使用ASP.NET CORE 3.1部署在阿里云Serverless(函数计算)的内容。 准备 阿里云的函数计算提供了很多运行库,对.NET的支持现在到ASP.NET CORE 2.1,如果我们需要自定义runtime,那么需要使用到函数计算的custom runtime功能。 首先准备好一个ASP.NET CORE 3.1程序,保证其可以正常运行(Release模式下能够正常工作)。然后做以下改动: 修改端口 阿里云函数计算自定义runtime使用的是固定的监听端口9000,因此,需要修改Program.cs文件 Copypublic static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) //指定监听9000端口 .UseUrls("http://*:9000") .UseStartup<Startup>();