- 博客(58)
- 收藏
- 关注
转载 ASP.NET常被忽视的一些细节
前段时间碰到一个问题:为什么在ASP.NET程序中定时器有时候会不工作?这个问题看起来很奇怪,代码好像也没错,但就是结果与预期不一致。其实这里是ASP.NET应用程序中一个容易被忽略的经节。后来想想,类似这样的细节问题何止这一个,我今天就把我能想到的容易被忽视的细节问题都写出来,希望大家小心这些问题。想到我以前的博客中也零散的说过了一些...
2019-09-24 10:55:27 130
转载 IIS日志-网站运维的好帮手
对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义的事情。有些在开发阶段没有暴露的问题很有可能就在运维阶段出现了,这也是很正常的。还有些时候,我们希望不断地优化网站,让网站更快速的响应用户请求,这些事情都发生在开发之后的运维阶段。与开发阶段不同的,运维阶段不可能让你去调试程序,发现各类问题,我们只能通过各种系统日志来分析网站的运...
2019-09-24 10:55:25 157
转载 HttpContext.Current并非无处不在
了解ASP.NET的开发人员都知道它有个非常强大的对象 HttpContext,而且为了方便,ASP.NET还为它提供了一个静态属性HttpContext.Current来访问它,今天的博客打算就从HttpContext.Current说起。无处不在的HttpContext由于ASP.NET提供了静态属性HttpContext....
2019-09-24 10:55:24 233
转载 在.net中序列化读写xml方法的总结
XML是一种很常见的数据保存方式,我经常用它来保存一些数据,或者是一些配置参数。使用C#,我们可以借助.net framework提供的很多API来读取或者创建修改这些XML,然而,不同人使用XML的方法很有可能并不相同。今天我打算谈谈我使用XML的一些方法,供大家参考。最简单的使用XML的方法由于.net fram...
2019-09-24 10:55:23 195
转载 Fish Li 该如何帮助您呢?
不知不觉中,来博客园写博已经二年了。经过二年时间的积累,人气提高了许多,或许正因为这个原因,最近一年中经常会收到一些朋友的提问。在所有的提问中,有些问题被多次问过了,还有部分问题是没有结果的。对于一些没有结果的问题,Fish Li也表示遗憾。趁着3月12日这个对于我来说特殊的日子里,我也想谈谈另一个问题:Fish Li 该如何帮助您呢?...
2019-09-24 10:55:22 131
转载 优化反射性能的总结(上)
反射是一种很重要的技术,然而它与直接调用相比性能要慢很多,因此如何优化反射性能也就成为一个不得不面对的问题。目前最常见的优化反射性能的方法就是采用委托:用委托的方式调用需要反射调用的方法(或者属性、字段)。那么如何得到委托呢? 目前最常见也就是二种方法:Emit, ExpressionTree 。其中ExpressionTree可认为是Emit方法的简化版本,...
2019-09-24 10:55:21 263
转载 如何在ASP.NET应用程序中初始化
每个程序都需要初始化的过程,用来读取配置或者设置一些运行环境(变量),对于ASP.NET程序来说,又该在哪里执行初始化的任务呢?我想应该绝大多数人都知道在Global.asax中执行初始化的过程,然而有些细节是我们需要关注的。本文用例在这篇博客的示例代码中,AppInitializer包含了网站的初始化的实现代码:...
2019-09-24 10:55:21 348
转载 优化反射性能的总结(下)
在前二篇博客中,我分别介绍了二种优化反射的方法:1. Delegate:委托。2. CodeDOM:动态代码生成。这是二种截然不同的方法,性能的差距也很大。今天的博客将着重比较它们的优缺点,以及给出它们的使用建议。用Delegate优化反射的缺点在评价委托方案时,我认为有必要细分一下委托方案:1. 强类型委托,例如:...
2019-09-24 10:55:20 250
转载 选择HttpHandler还是HttpModule?
最近收到几个疑问:HttpHandler和HttpModule之间有什么差别,我到底该选择哪个?之所以有这个疑问,是因为在这二类对象中都可以访问Request, Response对象,都能处理请求。我原以为在博客 用Asp.net写自己的服务框架中做了那么多的演示应该把它们的使用方法说清楚了,然而有些人看了我的那些示例,仍然不知道该如何选择它们,为了实...
2019-09-24 10:55:19 70
转载 优化反射性能的总结(中)
问题回顾在上篇博客中,我介绍了优化反射的第一个步骤:用委托调用代替直接反射调用。然而,那只是反射优化过程的开始,因为新的问题出现了:如何保存大量的委托?如果我们将委托保存在字典集合中,会发现这种设计会浪费较多的执行时间,因为这种设计会引发三个新问题:1. 代码的执行路径变长了。2. 字典查找是有成本开销的。3. 字典集合的并发读写需...
2019-09-24 10:55:18 110
转载 ASP.NET状态管理的总结
由于HTTP协议的无状态特性,导致在ASP.NET编程中,每个请求都会在服务端从头到执行一次管线过程,对于ASP.NET页面来说,Page对象都会重新创建,所有控件以及内容都会重新生成,因此,如果希望上一次的页面状态能够在后续页面中保留,则必需引入状态管理功能。ASP.NET为了实现状态管理功能,提供了8种方法,可帮助我们在页面之间或者整个用户会话期间保留状态...
2019-09-24 10:55:17 245
转载 各种AJAX方法的使用比较
AJAX技术经过这么多年的发展,出现了一些框架或类库用于简化开发工作,不同的框架类库的使用方法也各不相同。现在,再回头看看这些技术,看看这些框架类库,我们能感受到技术在不断地发展,AJAX开发越来越容易了。本文收集了在ASP.NET平台上,一些具体代表性的AJAX开发方法,我将用实际的示例代码来演示如何使用它们,让您感受AJAX的进化历程,同时也希...
2019-09-24 10:55:16 113
转载 解决ASP.NET中的各种乱码问题
经常发现有人被乱码困扰着,而我感觉比较幸运,很少为此烦恼过。在这篇博客中,我将把我想到的一些与乱码有关的经验总结出来,供大家参考。页面显示乱码问题在一个网站中,有些页面会正常显示,然而,有些页面会显示成乱码。如果发生这种情况,可以检查一下web.config和文件编码。如果web.config是这样配置的:&...
2019-09-24 10:55:15 266
转载 不修改代码就能优化ASP.NET网站性能的一些方法
本文将介绍一些方法用于优化ASP.NET网站性能,这些方法都是不需要修改程序代码的。它们主要分为二个方面:1. 利用ASP.NET自身的扩展性进行优化。2. 优化IIS设置。配置OutputCache用缓存来优化网站性能的方法,估计是无人不知的。ASP.NET提供了HttpRuntime.Cache对象来缓存数据,也提供了Outpu...
2019-09-24 10:55:14 204
转载 ClownFish 使用说明
ClownFish 是什么?ClownFish 能做什么?ClownFish 有什么特色?如果您有这些疑问,那么请浏览ClownFish的介绍博客:ClownFish:比手写代码还快的通用数据访问层ClownFish适合我吗?我认为,对于数据库的访问方式目前有以下5种方案:1. 有些人喜欢使用存储过程。2. 有些...
2019-09-24 10:55:13 1299
转载 程序在发布前就应该发现的一些错误
在软件开发过程中,写出影响性能或者有BUG的代码,都是我们无法回避的现实问题。不过,如果能够在程序发布前(自测或者测试阶段)将这些问题找出来,我想大家都是可接受的。今天就来介绍一种方法,用来发现在网站开发过程中,容易被我们忽略的一些问题,而这些问题其实是容易被发现的。将要介绍的方法需要使用Fiddler这样一款工具,我将演示如何使用Fiddler来发现40...
2019-09-24 10:55:12 164
转载 揭秘 ClownFish 比手写代码还快的原因
说明:本文的第一版由于反对人数较多(推荐/反对数量是:23 / 17),我在8月20日删除了博文内容,只留下一段简单的内容。既然分享技术也引来这么多的反对,那我就不分享了。如果希望知道我的优化方法,请回复留下email地址。但是让我万万没有想到的是:到10月17日为止,内容没有了,推荐数量还翻了一倍。为了表示对所有点...
2019-09-24 10:55:11 88
转载 哈哈,我评上了 ASP.NET MVP
国庆节这二天一直在为我的ClownFish写《使用说明》。偶乐闲得无聊,打开了我的网易邮箱,发现有一封未读邮件:恭喜您成为 2012 年度 Microsoft MVP !哈哈,总算评上了。上次(7月份)没被评上,当时非常失望。经过周围朋友的劝告,于是鼓足勇气,决定再试一次,最后试一次,而且MVP申请表也写简单了,也不翻译成英语了,也不找博客园推...
2019-09-24 10:55:10 85
转载 CPQuery, 解决拼接SQL的新方法
我一直都不喜欢在访问数据库时采用拼接SQL的方法,原因有以下几点:1. 不安全:有被SQL注入的风险。2. 可能会影响性能:每条SQL语句都需要数据库引擎执行[语句分析]之类的开销。3. 影响代码的可维护性:SQL语句与C#混在一起,想修改SQL就得重新编译程序,而且二种代码混在一起,可读性也不好。所以我通常会选择【参数化SQL】的方法去实现数...
2019-09-24 10:55:09 351
转载 ClownFish:比手写代码还快的通用数据访问层
最近花了二个月的业余时间重写了我以前的通用数据访问层,由于是重写,所以我给这个项目取了个新名字:ClownFish如果需要了解ClownFish的使用方法,请点击ClownFish 使用说明ClownFish是什么?ClownFish 是我编写的一个通用数据访问层,设计它的目的是为了:1. 方便在 .net 项目中执行数据访问任务。...
2019-09-24 10:55:09 159
转载 ASP.NET Page 那点事
Page,我想每个ASP.NET开发人员对它应该都是比较熟悉的。这次的博客我就打算专门谈谈它。不过呢,我不打算说 在Page中使用控件的一些话题,也不会说Page的生命周期的相关话题,因为我认为这些话题被人谈论的次数实在是太多了,尤其是市面上的ASP.NET的书籍,都会比较喜欢这些话题。我不喜欢重复,因此今天我只想谈些人家不谈的那点事,但我认为...
2019-09-24 10:55:07 132
转载 细说ASP.NET Windows身份认证
上篇博客我谈到了一些关于ASP.NET Forms身份认证方面的话题,这次的博客将主要介绍ASP.NET Windows身份认证。Forms身份认证虽然使用广泛,不过,如果是在 Windows Active Directory 的环境中使用ASP.NET,那么使用Windows身份认证也会比较方便。方便性表现为:我们不用再设计登录页面,不用编写登录验证逻辑...
2019-09-24 10:55:07 179
转载 细说ASP.NET Forms身份认证
用户登录是个很常见的业务需求,在ASP.NET中,这个过程被称为身份认证。由于很常见,因此,我认为把这块内容整理出来,与大家分享应该是件有意义的事。在开发ASP.NET项目中,我们最常用的是Forms认证,也叫【表单认证】。这种认证方式既可以用于局域网环境,也可用于互联网环境,因此,它有着非常广泛的使用。这篇博客主要讨论的话题是:ASP.NET For...
2019-09-24 10:55:05 97
转载 Fish Li 的一年博客总结
2011-03-12开博,今天2012-03-12,整整写了一年的博客,今天决定写个总结。这篇总结为分四个部分:1. 博客索引:谈谈技术,给博客做个索引。2. 回顾经历:讲述我的写博历程。3. 博客定位:公开我的博客风格以及选题范围。4. 规划未来:介绍我未来的写作计划。博客索引我的博客在选题时,都选择的是一些基础内容。...
2019-09-24 10:55:05 109
转载 ASP.NET页面优化,性能提升8倍的方法
今天与大家分享:一种优化页面执行速度的方法。采用这个方法,可以使用页面的执行速度获得【8倍】的提升效果。为了让您对优化的效果有个直观的了解,我准备了下面的测试结果截图:测试环境:1. Windows Server 2003 SP22. Viaual Studio 2008,使用自带的WebDev.WebServer.EXE运行网站程序。...
2019-09-24 10:55:03 193
转载 如何在IIS6,7中部署ASP.NET网站
在我的第一篇博客中,我发布过一个示例项目,主要演示了我的我的AJAX框架和我的通用数据访问层。虽然在当初我认为我已考虑地比较周全了,而且还提供了足够的说明文档,但在发布后的将近一年的时间里,还是有不少人给我发邮件,问我一些关于不能运行示例的问题。在所有问题中,主要集中在IIS和SQL SERVER的配置方面。因此,我认为还是有必要再来谈一下在IIS6/7以...
2019-09-24 10:55:03 297
转载 用ASP.NET写个SQLSERVER的小工具
2001年4月份,我在博客中发过一个小工具,它是一个用ASP.NET写的SQL SERVER的辅助小工具。在这期间,有些人貌似对那个工具比较有兴趣,所以我常能收到索要源代码的邮件。正好,我上月又发布了我的MVC框架,因此打算用【我的ASP.NET MVC框架】来重写这个工具,并开源。工具的特点:1. 采用ASP.NET编写,并借助MyMVC框架。2...
2019-09-24 10:55:01 210
转载 写自己的ASP.NET MVC框架(下)
上篇博客【写自己的ASP.NET MVC框架(上)】我给大家介绍我的MVC框架对于Ajax的支持与实现原理。今天的博客将介绍我的MVC框架对UI部分的支持。注意:由于这篇博客是基于前篇博客的,因此有些已说过的内容将会直接跳过,也不会给出提示。所以,如果要想理解这篇博客,那么阅读上篇博客【写自己的ASP.NET MVC框架(上)】则是必要的。...
2019-09-24 10:55:01 79
转载 细说 HttpHandler 的映射过程
在ASP.NET编程模型中,一个来自客户端的请求要经过一个称为管线的处理过程。在整个处理请求中,相对于其它对象来说,HttpHandler的处理算得上是整个过程的核心部分。由于HttpHandler的重要地位,我前面已经有二篇博客对它过一些使用上的介绍。【用Asp.net写自己的服务框架】中谈到了它的一般使用方法。【细说ASP.NET的各种异步操作...
2019-09-24 10:54:59 134
转载 写自己的ASP.NET MVC框架(上)
写了几篇细说之后,今天打算换换口味,还是来写代码吧。所以,这次博客将以实际的代码来展示在ASP.NET平台上开发自己的框架,我希望也能让您发现这并不是件难事。我在前面的博客【用Asp.net写自己的服务框架】中,发布了一个用ASP.NET写的服务框架,那个框架我目前仍在使用中。近来,由于时常也会有人问我一些关于ASP.NET MVC的话题,因此,就...
2019-09-24 10:54:59 230
转载 用Asp.net写自己的服务框架
我的上篇博客【我心目中的Asp.net核心对象】讲述了一些我认为在Asp.net中比较重要的核心对象,以及演示了直接使用它们也能实现一个简单的服务响应。今天,我将继续把我认为Asp.net的另一些重要的内容拿出来与大家一起分享,同时将使用本次所讲述的内容改进上篇博客所演示的那个简单的服务,让它成为一个真正能用的服务框架。在这篇博客中,不仅会继续演示...
2019-09-24 10:54:57 105
转载 细说 Form (表单)
Form(表单)对于每个WEB开发人员来说,应该是再熟悉不过的东西了,可它却是页面与WEB服务器交互过程中最重要的信息来源。虽然Asp.net WebForms框架为了帮助我们简化开发工作,做了很完美的封装,让我们只需要简单地使用服务端控件就可以直接操作那些HTML表单元素了。但我认为了解一些基础的东西,可以使我们不必束缚在WebForms框架上,以及遇到一些奇怪问题时,...
2019-09-24 10:54:57 258
转载 细说Cookie
Cookie虽然是个很简单的东西,但它又是WEB开发中一个很重要的客户端数据来源,而且它可以实现扩展性很好的会话状态,所以我认为每个WEB开发人员都有必要对它有个清晰的认识。本文将对Cookie这个话题做一个全面的描述,也算是我对Cookie的认识总结。Cookie 概述Cookie是什么? Cookie 是一小段文本信息,伴随着用户请...
2019-09-24 10:54:56 97
转载 我心目中的Asp.net核心对象
想当初在只使用WebForms框架并以服务端为中心的开发模式时,发现Asp.net好复杂。一大堆服务端控件,各有各的使用方法,有些控件的事件也很重要,必须在合适地时机去响应,还真有些复杂。后来逐渐发现这些复杂的根源其实就是服务器控件相关的抽象逻辑。随着Ajax越用越多,可能有些人也做过这些事情:【新建一个ashx文件,读取一些用户的输入数据,Form, Q...
2019-09-24 10:54:55 78
转载 Asp.net MVC 框架,我也来山寨一下
注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】继我的【Ajax服务端框架】完成后,也花了些时间学习了一Asp.net MVC,感觉我的Ajax框架也能玩MVC开发,于是乎,在又加了点功能后,现在也能像Asp.net MVC那样写aspx和ascx了。先来点代码来看看,具体的页面呈现...
2019-09-24 10:54:54 89
转载 Session,有没有必要使用它?
今天来说说 Session 。这个东西嘛,我想每个Asp.net开发人员都知道它,尤其是初学Asp.net时,肯定也用过它,因为用它保存会话数据确实非常简单。与前二篇博客不同,这次我不打算细说它的使用,而是打算说说它的缺点,同时我还会举个实际的例子,来看看它到底有什么不好的影响。当然了,光批评是没有意义,事情也得解决,没有会话也不行,所以,本文将也给出一个自认为能替代Se...
2019-09-24 10:54:53 210
转载 MongoDB实战开发 【零基础学习,附完整Asp.net示例】
【目标】:本文将以实战的形式,向您展示如何用C#访问MongoDB,完成常见的数据库操作任务,同时,也将介绍MongoDB的客户端(命令行工作模式)以及一些基础的命令。【说明】:MongoDB是什么?有什么用?如果不清楚这些问题的,请自己google一下吧。【适合对象】:完全没有接触MongoDB或对MongoDB有一点了解的C#开发人员。因此本文是一篇入门级...
2019-09-24 10:54:52 94
转载 我的通用数据访问层 - 监视执行了哪些数据库的操作
注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【ClownFish:比手写代码还快的通用数据访问层】这篇文章将介绍在使用我的通用数据访问层时,如何监视程序在运行时发生了哪些数据库的操作。对于很多数据库的应用程序来说,在做性能优化时,就必须知道程序在任何用户操作中,发生了哪些数据库的调用操作,如果发现有不合理...
2019-09-24 10:54:52 304
转载 通用数据访问层及Ajax服务端框架的综合示例,展示与下载
注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】本文将专门介绍:我的通用数据访问层及 Ajax服务端框架的综合示例,同时也是为了让大家能对这二个组件有更多的了解。因此,本文将以界面截图以及部分代码展示的方式来说明,这样可能会有更感性的认识它。这个演示网站的特点:1. 数据访问全使...
2019-09-24 10:54:50 66
转载 看懂SqlServer查询计划
对于SQL Server的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题,因此本文只谈优化查询时如何看懂SQL Server查询计划。毕竟我对SQL Server的认识有限,如有错误,也恳请您在发现后及时批评指正。首先,打开【SQL Server Management Studio】,输入一个查询语句看看S...
2019-09-24 10:54:49 83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人