.net
文章平均质量分 94
yuanyuanispeak
这个作者很懒,什么都没留下…
展开
-
编写高质量代码规范2
建议91 属性和字段的区别属性实质是方法,可以做更多的精细控制,可以让属性支持线程安全 ,而让属性支持线程安全可以让类型自身去实现,而让字段支持线程安全只能靠调用者本身去实现了。原创 2016-01-18 11:15:17 · 471 阅读 · 0 评论 -
性能优化
gym博客园 首页 新随笔 联系 订阅 管理随笔 - 26 文章 - 0 评论 - 19 trackbacks - 0ASP.NET性能优化一、返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求。每次往返降低了你的应用程序的每秒能够响应请求的次数。通过在单个数据库请求中返转载 2016-02-26 16:15:32 · 821 阅读 · 1 评论 -
编写高质量代码规范
规范1:原创 2016-01-11 11:31:52 · 1363 阅读 · 0 评论 -
C#设计模式学习笔记-单例模式
C#设计模式学习笔记-单例模式 最近在学设计模式,学到创建型模式的时候,碰到单例模式(或叫单件模式),现在整理一下笔记。 在《Design Patterns:Elements of Resuable Object-Oriented Software》中的定义是:Ensure a class only has one instance,and provide a global poi转载 2015-07-20 13:59:48 · 480 阅读 · 0 评论 -
C# 性能优化——三种字符串拼接效率
C# 性能优化——三种字符串拼接效率字符串拼接主要包括三类:+,String.Format(),StringBuilder.Append()1)对于少量固定的字符串拼接,如string s= "a" + "b" + "c",系统会优化成s= String.Concat("a","b","c"),不会新建多个字符串。如果写成string s="a"; s +="b"; s转载 2015-07-23 16:28:53 · 16760 阅读 · 0 评论 -
如何计算代码的运行性能
如何计算代码的运行性能 我们在开发的过程中,很多时候一个功能可能有多个实现方法,为了追求代码的性能,我们往往需要比较各实现方法的运行时间,从而选择性能最好的实现方法。那么怎样计算一段代码(或者说是函数)的运行时间呢,这个就是这篇文章我们要总结的内容。我们主要分以下几点来总结。在C#代码中计算代码执行时间在Sql Server中计算代码执行时间在C#代码中计算代码执行时转载 2015-07-24 15:20:08 · 578 阅读 · 0 评论 -
C#中的static、readonly与const的比较
C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景。 工作原理 readonly为运行时常量,程序运行时进行赋值,赋值完成后便无法更改,因此也有人称其为只读变量。 const为编译时常量,程序编译时将对常量值进行解析,并将所有常量引用替换为相应值。 下面声明两转载 2015-12-16 16:26:40 · 467 阅读 · 0 评论 -
APS.NET MVC 过滤器
APS.NET MVC中(以下简称“MVC”)的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理。这时候就用到了过滤器。 MVC支持的过滤器类型有四种,分别是:Authorization(授权),Action(行为),Result(结果)和Exception(异常)。如下表,过滤器类型接口转载 2015-12-14 11:34:32 · 1181 阅读 · 0 评论 -
垃圾回收3
转载 2015-12-31 13:36:46 · 327 阅读 · 0 评论 -
静态方法的线程安全
先看一个类:public class Test{ public static String hello(String str) { String tmp = ""; tmp = tmp + str; return tmp; }}hello方法会不会有多线程安全问题呢?没有!静态方法如果没有使用静态变量,则没转载 2015-07-17 14:27:22 · 2184 阅读 · 0 评论 -
ASP.NET页面生命周期
在以前写个一篇关于ASP.NET页面生命周期的草稿,最近又看了看ASP.NET,做个补充,看看页面初始过程到底是怎么样的下面是ASP.NET页面初始的过程:1. Page_Init();2. Load ViewState;3. Load Postback data;4. Page_Load();5. Handle control events;6. Page_PreRe转载 2013-06-09 15:39:30 · 672 阅读 · 0 评论 -
垃圾回收机制
C#中的Finalize,Dispose,SuppressFinalize的实现和使用介绍 2009-12-19 来自:网上整理 字体大小:【大 中 小】摘要:本文介绍C#中的Finalize,Dispose,SuppressFinalize的实现和使用和它们之间的一些关系和区别。-MSDN建议按照下面的模式实现IDisposable转载 2013-05-08 15:34:17 · 620 阅读 · 0 评论 -
c# 线程同步系列(一)lock与Monitor的用法
lock(x){ DoSomething();}这等效于:System.Object obj = (System.Object)x;System.Threading.Monitor.Enter(obj);try{ DoSomething();}finally{ System.Threading.Monitor.Exit(ob转载 2014-10-13 10:17:11 · 900 阅读 · 0 评论 -
Dictionary 和hashtable区别
1:单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快, 容量利用更充分. 2:多线程程序中推荐使用 Hashtable, 默认的 Hashtable 允许单线程写入, 多线程读取, 对 Hashtable 进一步调用 Synchronized() 方法可以获得完全线程安全的类型.而 Dictionary 非线程安全, 必须人为使用 lock 语句进行保护, 效率转载 2016-02-24 16:32:49 · 447 阅读 · 0 评论 -
AutoMapper用法
AutoMapper是对象到对象的映射工具。在完成映射规则之后,AutoMapper可以将源对象转换为目标对象。作者:齐飞原文:http://www.qeefee.com/article/automapper配置AutoMapper映射规则AutoMapper是基于约定的,因此在实用映射之前,我们需要先进行映射规则的配置。public class Source{ pu转载 2017-02-05 17:31:09 · 4124 阅读 · 0 评论 -
Snowflake算法
使用UUID或者GUID产生的ID没有规则Snowflake算法是Twitter的工程师为实现递增而不重复的ID实现的从图上看除了第一位不可用之外其它三组均可浮动站位,据说前41位就可以支撑到2082年,10位的可支持1023台机器,最后12位序列号可以在1毫秒内产生4095个自增的ID。在多线程中使用要加锁。 /// <summary> ...转载 2017-02-10 13:05:52 · 2142 阅读 · 0 评论 -
单系统登录机制
一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏转载 2017-02-07 13:15:09 · 786 阅读 · 0 评论 -
并发
优化代码,避免因为代码导致的执行效率偏低。页面静态化,减少对数据库的请求。图片服务器分离,减少服务器请求压力。数据库优化 集群 索引。缓存。负载均衡。转载 2016-03-07 15:24:25 · 335 阅读 · 0 评论 -
垃圾回收2
转载 2015-12-31 13:32:15 · 326 阅读 · 0 评论 -
垃圾回收1
转载 2015-12-31 13:08:26 · 382 阅读 · 0 评论 -
Quartz.net开源作业调度框架使用详解
Quartz.net开源作业调度框架使用详解前言quartz.net作业调度框架是伟大组织OpenSymphony开发的quartz scheduler项目的.net延伸移植版本。支持 cron-like表达式,集群,数据库。功能性能强大更不用说。下载项目文档官网:http://www.quartz-scheduler.net/项目中需引用:Common.Log转载 2017-02-05 16:24:26 · 848 阅读 · 0 评论 -
不修改代码就能优化ASP.NET网站性能的一些方法
不修改代码就能优化ASP.NET网站性能的一些方法阅读目录开始配置OutputCache启用内容过期解决资源文件升级问题启用压缩删除无用的HttpModule其它优化选项本文将介绍一些方法用于优化ASP.NET网站性能,这些方法都是不需要修改程序代码的。它们主要分为二个方面:1. 利用ASP.NET自身的扩展性进行优化。2. 优化IIS设转载 2016-03-01 13:00:19 · 1029 阅读 · 0 评论 -
细说 ASP.NET控制HTTP缓存
细说 ASP.NET控制HTTP缓存阅读目录开始正常的HTTP请求过程缓存页的请求过程缓存页的服务端编程什么是304应答?如何编程实现304应答如何避开HTTP缓存在上篇博客【细说 ASP.NET Cache 及其高级用法】中, 我给大家介绍了ASP.NET Cache,这种服务端使用的缓存API 。在我们开发一个ASP.NET网站的过程中,其实转载 2016-03-01 15:00:56 · 494 阅读 · 0 评论 -
我心目中的Asp.net核心对象
我心目中的Asp.net核心对象阅读目录开始HttpRuntimeHttpServerUtility , HttpUtilityHttpRequestHttpResponseHttpContext强大的背后也有麻烦事换一种方式使用Asp.net框架想当初在只使用WebForms框架并以服务端为中心的开发模式时,发现Asp.net好复杂。一大堆服务端控转载 2016-03-02 12:54:10 · 520 阅读 · 0 评论 -
多线程
转载 2016-01-20 14:53:55 · 363 阅读 · 0 评论 -
信号同步机制
将任务添加进线程池:ThreadPool.QueueUserWorkItem(new WaitCallback(方法名));重载ThreadPool.QueueUserWorkItem(new WaitCallback(方法名), 参数);因为ThreadPool是静态类 所以不需要实例化.转载 2016-01-21 14:33:51 · 608 阅读 · 0 评论 -
IEnumerator 与IEnumerable 关系
===========================================================================IEnumerator (迭代器接口):实现类迭代 IEnumerable (可枚举接口):实现foeach循环必须实现此接口.=====================================转载 2013-12-18 15:49:37 · 540 阅读 · 0 评论 -
深入理解string
深入理解string分类: .NET2013-03-06 13:59 61人阅读 评论(0) 收藏 举报目录(?)[+]字符串的驻留(String Interning)关于字符串的驻留的机制,对于那些了解它的人肯定会认为很简单,但是我相信会有很大一部分人对它存在迷惑。在开始关于字符串的驻留之前,先给出一个有趣的Sample:Cod转载 2013-07-12 17:21:22 · 843 阅读 · 0 评论 -
C#语言中TransactionScope类的使用
如果在C#中使用TransactionScope类(分布式事务),则须注意如下事项:1、在项目中引用using System.Transactions命名空间(先要在添加net组件的引用);2、具体示例如下: /// /// 发送消息 /// /// /// 格式7FFA3转载 2013-07-11 11:56:30 · 7749 阅读 · 0 评论 -
编译过程
作为一种代码指令平台,Microsoft .NET比微软公司先前推出的其他技术平台要来得更为复杂。由于.NET提供了对多种编程语言以及(在理论上说)多重平台的支持,这就需要在传统的两个代 码层添加一个中间代码层。在这里,传统的两层分别是源代码层和编译后的本机代码层。新加的代码层给.NET平台带来了额外的灵活性,不过,反过来却又增加 了系统的复杂性。此外,由于这一新代码层的出现,一连串的新型原创 2015-01-08 15:53:12 · 621 阅读 · 0 评论 -
委托 和 事件
引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事转载 2013-06-27 10:03:06 · 526 阅读 · 0 评论 -
性能优化
尽可能的用到页面缓存 在未使用会话状态时候禁用掉或者只读EnableSessionState="ReadOnly" 禁用掉 这个属性AutoEventWireup="false"避免与服务期间过多的往返行程 使用 page.ispostback 操作 避免装箱和拆箱操作 避免 try catch 避免string 使用多线程原创 2013-06-24 10:15:48 · 530 阅读 · 0 评论 -
Session 存储方式
简单来说,Session就是服务器给客户端的一个编号,当一台web服务器运行时,可能 是有多个用户都在浏览这台服务器上的网站,当每个用户首次与这台服务器建立连接时,它就与这个服务器建立了一个Session,同时服务器就会自动为其分 配一个SessionId,用以标识这个用户的唯一身分,这个Session就是有服务器随机产生的一个由24个字符组成的字符串。 这个唯一的Sess转载 2013-06-24 09:48:30 · 883 阅读 · 0 评论 -
反射(Reflection)
两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反射,然后把“回音”进行处理就可以显示出内脏的情况了(我不是医生也不是声学专家,不知说得是否准确^_^)。2、地球内部结构:地球的内部结构大体可以分为三层:地壳、地幔和转载 2013-03-19 11:30:14 · 494 阅读 · 0 评论 -
泛型应用
所谓泛型是指将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。一种类型占位符,或称之为类型参数。我们知道一个方法中,一个变量的值可以作为参数,但其实这个变量的类型本身也可以作为参数。泛型允许我们在调用的时候再指定这个类型参数是什么。在.net中,泛型能够给我们带来的两个明显好处是——类型安全和减少装箱、拆箱。 例如:通常一个方法或过程的签名都是有明确的数据类型的。转载 2013-03-19 10:42:24 · 545 阅读 · 0 评论 -
ASP.NET对请求处理的过程
ASP.NET对请求处理的过程:当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过http管道(Http PipeLine)将请求发送给ASPNET_WP.exe进程,在ASPNET_WP.exe进程中通过HttpRuntime来处理这个请求,转载 2012-10-26 14:16:01 · 449 阅读 · 0 评论 -
IIS日志-网站运维的好帮手
IIS日志-网站运维的好帮手阅读目录开始 IIS日志包含了哪些信息 IIS日志的配置 如何分析IIS日志 推荐的IIS日志分析方法 IIS日志中的异常记录 再谈 scwin32status=64 寻找性能问题 寻找可改进的目标 程序架构对IIS日志分析过程的影响对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义的事情。 有些在开发阶段没有暴露的问...转载 2016-03-02 17:55:45 · 782 阅读 · 0 评论 -
选择HttpHandler还是HttpModule?
选择HttpHandler还是HttpModule?阅读目录开始理解ASP.NET管线理解HttpApplication理解HttpHandler理解HttpModule三大对象的总结案例演示如何选择?最近收到几个疑问:HttpHandler和HttpModule之间有什么差别,我到底该选择哪个?之所以有这个疑问,是因为在这二类对象中都可以访问R转载 2016-03-02 17:23:58 · 316 阅读 · 0 评论 -
细说 ASP.NET Cache 及其高级用法
细说 ASP.NET Cache 及其高级用法阅读目录开始Cache的基本用途Cache的定义Cache常见用法Cache类的特点缓存项的过期时间缓存项的依赖关系 - 依赖其它缓存项缓存项的依赖关系 - 文件依赖缓存项的移除优先级缓存项的移除通知巧用缓存项的移除通知 实现【延迟操作】巧用缓存项的移除通知 实现【自动加载配置文件】文件监视技术的选择各种缓存方案的共转载 2016-03-02 17:01:42 · 1018 阅读 · 0 评论 -
Session,有没有必要使用它?
Session,有没有必要使用它?阅读目录开始Session的来龙去脉Session对并发访问的影响Session的缺点总结不使用Session的替代方法Asp.net MVC 中的Session现有的代码怎么办?今天来说说 Session 。这个东西嘛,我想每个Asp.net开发人员都知道它,尤其是初学Asp.net时,肯定也用过它,因为用它保存会转载 2016-03-02 13:57:09 · 1725 阅读 · 0 评论