.Net Framework

阿里云轻量应用服务器与云服务器ECS服务器对比优势

我怕爱的太早我们不能终老 提交于 2021-02-07 12:24:29
通过最近网友和客户的反馈,发现很多朋友有兴趣短期体验 阿里云 的“轻量应用服务器”,24元每月的价格,而且支持香港,跟ECS相比比相当优惠。原因多种: 价格优势:对比 阿里云 ECS香港地区,按照最低轻量的配置,1核1G1M25G的sssd硬盘,ECS价格为66.9元每月。香港轻量却仅仅24元每月,年付350元还有流量包等优惠。价格相差不止一倍。 新品优势:虽然轻量应用服务器推出市场已经超过一年,但是新品优势似乎没有那么受欢迎。所以至今仍可以算是轻量应用服务器的新品期。自然也就有了低廉的特价。 快捷模版:ECS毕竟属于传统物理机,VPS虚拟机的替代品。所以肩负着太多的任务类型,大中小型各种网站都依赖它,还得给配合SLB,RDS,缓存等等多种产品使用留余地。可是小用户并不划算,仅仅用来搭建个很常见的模板化小站。焉用牛刀?所以轻量一词也就成了这个服务器的名字关键字。使用轻量应用服务器可以轻松搭建wordPress、LAMP、Drupal、Node.js 、ECShop 、phpwind 、ASP/.NET、BT-Panel 等多种模版发布项目。将服务器系统环境配置过程优化为十步之内。 代替ECS:轻量应用服务器从推出到现在,已经追加了纯系统环境模板。这就相当于,单机应用可以使用轻量应用服务器完全代替ECS使用。 补充: 官网产品介绍 《什么是轻量应用服务器》 原文地址: https:/

.NET Core HttpClient源码探究

蓝咒 提交于 2021-02-07 06:51:34
前言 在之前的文章我们介绍过HttpClient相关的服务发现,确实HttpClient是目前.NET Core进行Http网络编程的的主要手段。在之前的介绍中也看到了,我们使用了一个很重要的抽象HttpMessageHandler,接下来我们就探究一下HttpClient源码,并找寻它和HttpMessageHandler的关系究竟是怎么样的。 HttpClient源码解析 首先我们找到HttpClient源码的位置,微软也提供了专门的网站可以查找.Net Core源码有兴趣的同学可以自行查阅。接下来我们查阅一下HttpClient的核心代码。首先,我们可以看到HttpClient继承自HttpMessageInvoker这个类,待会我们在探究这个类。 public class HttpClient : HttpMessageInvoker { } 然后我们看下几个核心的构造函数 public HttpClient ( ) : this ( new HttpClientHandler( )) { } public HttpClient ( HttpMessageHandler handler ) : this ( handler, true ) { } public HttpClient ( HttpMessageHandler handler, bool

ASP.NET Core快速入门(第3章:依赖注入)--学习笔记

人盡茶涼 提交于 2021-02-07 02:47:04
点击 蓝字 关注我们 课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务16:介绍 1、依赖注入概念详解 从UML和软件建模来理解 从单元测试来理解 2、ASP.NET Core 源码解析 任务17:从UML角度来理解依赖 1、什么是依赖 当一个类A完成某个任务需要另一个类B来帮助时,A就对B产生了依赖 例如CustomerController需要对customer进行新增或查找时用到EF,则对EF的Context产生了依赖 var context = new CustomerContext( new DbContextOptions<CustomerContext>{}); 2、显示依赖与隐式依赖 显示依赖:把一个类用到的所有外部组件放到一个类最上面,在构造函数里面初始化 private CustomerContext _context; public CustomerController () { _context = new CustomerContext( new DbContextOptions<CustomerContext>{}); } 隐式依赖:需要用到的地方再初始化,不推荐 var context = new CustomerContext( new DbContextOptions

详解Go中内存分配源码实现

匆匆过客 提交于 2021-02-07 02:44:30
转载请声明出处哦~,本篇文章发布于luozhiyun的博客: https://www.luozhiyun.com 本文使用的go的源码15.7 介绍 Go 语言的内存分配器就借鉴了 TCMalloc 的设计实现高速的内存分配,它的核心理念是使用多级缓存将对象根据大小分类,并按照类别实施不同的分配策略。TCMalloc 相关的信息可以看这里: http://goog-perftools.sourceforge.net/doc/tcmalloc.html。 即如果要分配的对象是个小对象(<= 32k),在每个线程中都会有一个无锁的小对象缓存,可以直接高效的无锁的方式进行分配; 如下:对象被分到不同的内存大小组中的链表中。 如果是个大对象(>32k),那么页堆进行分配。如下: 虽然go内存分配器最初是基于tcmalloc的,但是现在已经有了很大的不同。所以上面的一些结构会有些许变化,下面再慢慢絮叨。 因为内存分配的源码比较复杂,为了方便大家调试,所以在进行源码分析之前,先看看是如何断点汇编来进行调试的。 断点调试汇编 目前Go语言支持GDB、LLDB和Delve几种调试器。只有Delve是专门为Go语言设计开发的调试工具。而且Delve本身也是采用Go语言开发,对Windows平台也提供了一样的支持。本节我们基于Delve简单解释如何调试Go汇编程序。项目地址: https:/

C#中DllImport用法

回眸只為那壹抹淺笑 提交于 2021-02-06 10:30:15
http://blog.csdn.net/u011981242/article/details/52622923 http://www.jb51.net/article/46384.htm 读取身份证:https://www.cnblogs.com/softcg/p/6510984.html 析构函数:https://www.cnblogs.com/melao2006/p/4239302.html 命名空间: using System.Runtime.InteropServices; // 用 DllImport 需用此 命名空间 using System.Reflection; // 使用 Assembly 类需用此 命名空间 using System.Reflection.Emit; // 使用 ILGenerator 需用此 命名空间 /// <summary> /// 参数传递方式枚举 ,ByValue 表示值传递 ,ByRef 表示址传递 /// </summary> public enum ModePass { ByValue = 0x0001 , ByRef = 0x0002 } /// <summary> /// 动态加载非托管DLL(Dynamic Load DLL) /// </summary> public class DLD { /// <summary>

WPF Step By Step 系列

孤者浪人 提交于 2021-02-06 09:18:44
公司最近要去我去整理出一个完整的WPF培训的教程,我刚好将自己学习WPF的过程和经验总结整理成笔记的方式来讲述,这里就不按照书上面的东西来说了,书本上一般都是按部就班,深入浅出。我这里主要是以实战和具体的代码为准来讲述。 目前使用WPF的时间不算长,大概有2年多,比园子里很多的大师,还是会差很多。现在才刚刚算是对WPF基本的应用时掌握了,但是距离UI设计方面,还是有很大的欠缺。由于本人不太擅长美感的东西。 WPF参考书推荐 下面先整理下,本人主要学习的WPF参考书: 1、WPF编程宝典(C#2010) 该书:( 必读 ) 心得体会:读完该书后,你对WPF的基础和基本控件的使用,包括WPF的编程模型,相比Winform的特性和如何开始在实际的项目中下手,都有了基本的认知。里面还介绍了控件模板的使用,WPF必须掌握模板。里面包含了WPF的方方面面,不过,深度还有待继续挖掘。 2、深入浅出WPF 该书 ( 入门必读 ) 心得体会:该书写的浅显易懂,特别适合对WPF不了解,又渴望快速对WPF上手的书,符合中国人的阅读习惯,很容易就看完该书,不过,该书中没有包含太多的结合项目实例的内容。是本好书。 3、WPF Programmer's Reference: Windows Presentation Foundation with C# 2010 and .NET 4 该书:(建议阅读)

Smartbi报表工具的学习笔记,如何学好报表分析?

一个人想着一个人 提交于 2021-02-05 09:27:10
近期,因为工作需要,学习了一个报表工具Smartbi,这是国产BI软件,其功能还是挺强大的,并且学习成本很低,容易上手。 其实在学习Smartbi之前,我还学习了一段时间的微软BI工具sqlserver report service(简称***S),怎么说呢,这个工具界面不好看,另外感觉功能不全。 当我接触smartbi后,感觉豁然开朗,整个人都为之振奋,因为可以实现我想要的各种需求了。 Smartbi里面后有很多种分析,如组合分析、透视分析、多维分析等等,我感觉这些分析可以不用学,直接学习其中的电子表格分析即可,因为电子表格分析涵盖了几乎上面所有分析的功能。 另外还要提到的是,Smartbi的个人版功能是不限的,只限制并发用户数,这对于中小企业来说,可以免费使用它。当然,如果你是成规模的大用户,可以购买企业版的。 下面跟大家说说我使用Smartbi的全过程,一来可以为自己前期使用不熟悉做个步骤记录;二来相信也有很多用户跟我一样,没办法做到过目不忘,帮大家记录一下使用Smartbi使用的全过程。 一、Smartbi软件下载地址 想要使用Smartbi的用户可以到官网下载软件。 当然使用产品肯定需要有在线文档帮助,Smartbi的在线文档可以在官网的导航栏找到。 二、安装smartbi EXE安装包安装:直接运行EXE安装包即可。 软件包安装:参考Linux系统软件包部署流程。 三

记第一次使用NET CORE 2.2 完成的DEMO部署在LINUX并且上线

ⅰ亾dé卋堺 提交于 2021-02-05 09:25:11
.NET CORE 这么久了一直没有成功打通过,今天花了点儿时间做了一个小DEMO,首次完成并且部署上线。记录一下。 DEMO中只是测试了一下从MSSQL中获取数据,并且显示在页面上,涉及到了数据库连接,以及相关的部署步骤。一直到域名绑定。 最终上线的网址: http://test.core.68weitang.cn/ 因服务器过一段时间即到期,该网址有可能无法访问,相关源代码附在最后。 项目结构图: 引用了Business类库项目,Business业务层实现具体的业务,这个项目只做了连接MSSQL数据库,随机获取10条数据,转换成List<AccountVO>的对象。 Layouts项目就是调用Business业务层获取数据列表。代码如下: 后台代码。 代码完成之后,发布即可。 整个代码部分的工作就完成了,接着咱们来做部署方面的工作。 测试的服务器是阿里云的一台最低配置的ECS,1个CPU,500M内存,系统装的是CentOS 7.6的版本。 之前一直在安装linux的环境上面有很大的问题,上传文件要装XFTP,WEB服务器要使用nginx等,对于没怎么深入玩过LINUX的人,很头疼。后来发现宝塔这个软件非常好用,强烈推荐,安装也比较简单。 官方文档地址: https://www.bt.cn/bbs/thread-19376-1-1.html,其实就一个命令就行了,非常简单

[译]C# 7系列,Part 2: Async Main 异步Main方法

对着背影说爱祢 提交于 2021-02-05 02:47:07
原文: https://blogs.msdn.microsoft.com/mazhou/2017/05/30/c-7-series-part-2-async-main/ 你大概知道,C#语言可以构建两种程序。 一种是带有入口点(entrypoint)的程序,这样操作系统就可以加载程序并从入口点执行; 另一个是没有入口点的程序。 操作系统不能直接执行程序,程序可以被其他有入口点的程序引用,这样就可以执行其中的代码。 必须有入口点的应用程序类型有:Windows Forms应用程序、UWP应用程序、控制台应用程序、WPF应用程序、ASP.NET 和ASP. NET Core应用程序和Xamarian App。 不需要入口点的应用程序类型有:类库(/t:lib)、模块(/t:module)。 Main方法 像其他语言一样,C#程序从Main方法开始。 有四个重载被认为是Main方法的有效签名。 public static void Main(); public static int Main(); public static void Main( string [] args); public static int Main( string [] args); C#的入口点方法必须是静态的,方法名必须是Main,这个方法的返回类型可以是void或者int,它可以有一个字符串数组的参数

ABP 多租户 对应多数据库 租户启动报错

偶尔善良 提交于 2021-02-04 19:02:20
什么是多租户? “软件多租户是指一个软件体系结构,其中一个软件实例在一个服务器上运行,并为多个租户提供服务*租户是一组共享具有软件实例特定权限的公共访问权限的用户。 架构中,软件应用程序旨在为每个租户提供一个包含其数据*,配置,用户管理,租户个人功能和非功能属性的实例共享*多租户与多实例架构形成鲜明对比,其中独立的软件实例运行 代表不同的租户“(维基百科),简而言之,多租户是一种用于创建SaaS(软件即服务)应用程序的技术。 数据库和部署体系结构 有一些不同的多租户数据库和部署方法: 1、多个部署 - 多个数据库 实际上这不是多租户,但是如果我们为每个客户(租户)运行一个具有独立数据库的应用程序实例,则可以在一台服务器上为多个租户提供服务。我们只需确保应用程序的多个实例在相同的服务器环境中不会相互冲突。 对于不是被设计为多租户的现有应用来说,这也是可能的。由于应用程序不知道多租户,创建这样的应用程序更容易。然而,这种方法存在设置,使用和维护问题。 2、单一部署 - 多个数据库 在这种方法中,我们在服务器上运行应用程序的单个实例。我们有一个主(主机)数据库来存储租户元数据(如租户名和子域)和每个租户的单独数据库。一旦我们确定了当前的租户(例如,从子域或从用户登录表单),那么我们可以切换到该租户的数据库来执行操作。在这种方法中,应用程序应该在一定程度上被设计为多租户