随笔分类 - .Net/C#
摘要:上篇博客说到使用单例HttpClient,以GET请求方法为例。可以看到对于Http请求头中Authorization参数,会根据传入的accessToken是否为空来判断是否添加此请求头。 假设现在有两类请求,一类accessToken有值,一类accessToken值为null。那么在高并发请求
阅读全文
摘要:在.Net 4.0之前,一直是依靠HttpWebRequest实现Http操作的。它默认有一个非常保守的同一站点下最大2并发数限制,导致默认情况下HttpWebRequest往往得不到理想的速度,必须修改App.config或ServicePointManager.DefaultConnection
阅读全文
摘要:1、ExpandoObject(System.Dynamic) 2、JObject(Newtonsoft.Json.Linq)
阅读全文
摘要:1、什么是单例模式 单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例 2、单例模式的特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其它对象提供
阅读全文
摘要:这里以Dictionary<string,string>为例 当我们实例化Dictionary<string,string>集合时,其中有一个重载构造方法如下: 这里需要传入一个比较器,并且该比较器需要实现IEqualityComparer<TKey>接口 那么我们现在就可以使用Dictionary
阅读全文
摘要:作为开发人员,我们之前发布应用很可能是拷贝开发环境上发布好的代码文件到应用服务器硬盘中,然后在IIS中部署网站。 但是今天我们讲的是如果直接在我们的开发环境通过VS远程发布网站到应用服务器上,这将极大简化我们的工作。 1、安装IIS 这里我们就不详细介绍如果安装IIS 2、安装Web Platfor
阅读全文
摘要:Azure WebSite服务默认是不提供黑白名单,也就是说任何Internet用户都可以访问Azure WebSite,那么我们如何来给我们的网站设置黑白名单? 这里有一种方式,可以通过配置网站的配置文件(Web.config)来设置访问的黑白名单。 1、通过VS新建一个ASP.Net MVC项目
阅读全文
摘要:Linux Disibutaion:CentOS 7.1 Web Server:Apache、Kestrel 1、安装.net core 2、新建asp.net core mvc项目 3、安装npm,gulp,bower 4、发布项目 5、安装并配置Apache 进入/etc/httpd/conf.
阅读全文
摘要:这段时间一直在研究asp.net core部署到linux,今天终于成功了,这里分享一下我的部署过程。 Linux Disibutaion:Ubuntu 14.04 Web Server:nginx、Kestrel 1、安装.net core 2、安装.net core成功之后,新建asp.net
阅读全文
摘要:.Net越来越拥抱开源了,今天就试了如何让.Net程序跑在Linux上,果然再无人可以阻挡.Net的脚步了。 Linux Disibutaion:Open Logic 7.2 1、Install .NET Core SDK SSH进入Linux,输入如下命令: 这里我们就安装好了.Net程序运行的环
阅读全文
摘要:关于Log4Net配置主要分几步 第一步:下载log4net.dll(log4net官网:http://logging.apache.org/log4net/download_log4net.cgi) 第二步:在项目中添加对log4net.dll的引用 第三步:配置log4net <?xml ver
阅读全文
摘要:说道"委托"这个词我们肯定都不会陌生吧,生活中"委托"就是请别人帮我们做事。程序中也是如此,委托机制是.Net中特有的,我们可以将方法作为参数传给委托,让委托帮我调用执行方法。先来看看委托是如何定义的:[访问修饰符] delegate 返回值 委托名([参数]);委托类似于C/C++中的函数指针,但是它们又有一些区别,并不是完全等价的。说到指针,很多人肯定又晕,指针其实就是地址,而函数指针就是函数的地址或者说函数的入口,这样说相信我们会好理解一点。委托是一种类型,可以存储多个方法的列表,而函数指针只能存储一个函数的指针,除非使用指针数组才可以存储多个函数
阅读全文
摘要:Connection:主要用来开启程序和数据库之间的连接,没有利用Connection对象连接数据库,是无法从数据库中取得数据的。Close()和Dispose()的区别就是Close以后还可以Open,但是Dispose是释放了连接,要操作数据库就要重新连接数据库。Command:主要用来对数据库...
阅读全文
摘要:static void Main(string[] args) { //创建秒表,记录查询的总时间 Stopwatch timer = new Stopwatch(); timer.Start(); //传入本地磁盘路径,遍历当前路径下的所有文件 LoadDirectory(@"G:\传智播客.Net培训—就业班精品"); timer.Stop(); Console.WriteLine("运行时间:" + timer.Elaps...
阅读全文
摘要:下面我们一起了解什么是抽象类,首先我来解释下抽象这两个字的意思。抽象:笼统、模糊、看不懂、不具体等意思那抽象类有些什么特点呢?①方法只有声明没有实现时,该方法就是抽象方法,需要被abstract关键字修饰,抽象方法必须定义在抽象类中,该类也必须被abstract关键字修饰。②抽象类不可以被实例化,因为调用抽象方法没意义。③抽象类必须有其子类覆盖了所有的抽象方法后,该子类才可以实例化,否则,这个子类还是抽象类。既然我们前面说到抽象类不能被实例化。那么抽象类有构造函数么?答案是有的,这又是为什么呢?因为抽象类是必须被继承的,而抽象类的构造函数就是用来给子类对象进行初始化。还有就是抽象类可以不定义抽
阅读全文
摘要:索引器在我们程序中的应用很普遍,那什么是索引器呢?其实索引器就是一种特殊的类成员,它能够让对象以类似数组的方式来存取,使程序看起来更为直观,更容易编写。在C#中的类成员可以是任意类型,包括数组和集合。当一个类包含了数组和集合成员时,索引器将大大简化对数组或集合成员的存取操作。定义索引器的方式与定义属性有些类似,其一般形式如下:[修饰符] 数据类型 this[索引类型 index]{ get{}; //获得属性的代码 set{}; //设置属性的代码}这里的数据类型是表示将要存取的数组或集合元素的类型。索引器类型表示该索引器使用哪一类型的索引来存取数组或集合元素,可以是整数,可以是字符串;t..
阅读全文
摘要:浅拷贝与深拷贝再讲之前我们来解释下拷贝,顾名思义就是复制的意思。和物理上的拷贝不一样,在面向对象语言中拷贝涉及到类的继承、接口的实现等等。下面我们来讨论下浅拷贝与深拷贝的一些作用于区别。拷贝:一定要有一个新对象的出现,并且这两个对象一定要相同。下面是浅拷贝的一个例子: 1 class Person{ 2 public string name; 3 public int age; 4 public char gender; 5 Random r; 6 public Person(string name,int age,char gender){ 7 this.name=name; 8 this.
阅读全文

浙公网安备 33010602011771号