自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

转载 LoadRunner没有告诉你的(七)

有朋友开始投诉了,说我已经好长一段时间没有写技术类文章了。汗颜,积极改进。刚好今天在群里有同行遇到一个关于 LR 参数化的问题,其实这个问题以前也遇到过,所以就顺便把我的想法整理一下发上来。   当时我们要做的是使用性能测试工具模拟大量用户在线点播 Movie 的业务,这个点播 Movie 的业务在第一次点播成功后,如果同一用户再次点播同一 Movie,系统的处理流程与第一次点播是不同的。另外,我

2009-11-23 22:59:00 427

转载 《LoadRunner没有告诉你的》之六——获取有效的性能需求

 本文是《LoadRunner没有告诉你的》系列的第六篇,我将继续保持“无废话”的原则,用尽可能简洁、明确的语句来表述我对性能测试的看法和经验。在这篇文章中,我们要讨论的是如何获取“有效的”性能需求。         一个实际的例子    为了便于大家的理解,我们先来看一个性能需求的例子,让大家有一个感性的认识,本文后面的讨论也会再次提到这个例子。    这是一个证券行业系统中某个业务的“实际需求

2009-11-23 22:58:00 511

转载 《LoadRunner 没有告诉你的》之五——无所不在的性能测试

 提到性能测试,相信大家可以在网上找到很多种不同的定义、解释以及分类方法。不过归根结底,在大多数情况下,我们所要做的性能测试的目的是“观察系统在一个给定的环境和场景中的性能表现是否与预期目标一致,评判系统是否存在性能缺陷,并根据测试结果识别性能瓶颈,改善系统性能”。本文是《LoadRunner没有告诉你的》系列的第五篇,在这篇文章中,我希望可以跟大家一起来探讨“如何将性能测试应用到软件开发

2009-11-23 22:57:00 443

转载 《LoadRunner 没有告诉你的》之四——理解性能

 本文是《LoadRunner没有告诉你的》系列文章的第四篇,在这篇短文中,我将尽可能用简洁清晰的文字写下我对“性能”的看法,并澄清几个容易混淆的概念,帮助大家更好的理解“性能”的含义。如何评价性能的优劣: 用户视角 vs. 系统视角对于最终用户(End-User)来说,评价系统的性能好坏只有一个字——“快”。最终用户并不需要关心系统当前的状态——即使系统这时正在处理着成千上万的请

2009-11-23 22:56:00 302

转载 《LoadRunner 没有告诉你的》之三——理发店模型

 大概在一年前的一次讨论中,我的好友陈华第一次提到了这个模型的最初版本,经过几次讨论后,我们发现经过完善和扩展的“理发店模型”可以用来帮助我们理解很多性能测试的概念和理论,以及一些测试中遇到的问题。在最近的一次讨论后,我决定撰写一篇文章来专门讲述一下这个模型,希望可以帮助大家更好的理解性能测试有关的知识。不过,在这篇文章中,我将会尽量的只描述模型本身以及相关的一些扩展,而具体如何将这个模型

2009-11-23 22:54:00 545

转载 《LoadRunner 没有告诉你的》之二——描述性统计与性能结果分析(续)

数据统计分析的思路与分析结果的展示方式是同样重要的,有了好的分析思路,但是却不懂得如何更好的展示分析结果和数据来印证自己的分析,就像一个人满腹经纶却不知该如何一展雄才^_^ 一图胜千言,所以这次我会用两张图表来说明“描述性统计”在性能测试结果分析中的其他应用。 在这张图中,我们继续使用了上一篇文章——《描述性统计与结果分析》一文中的方法,对响应时间的分布情况来进行分

2009-11-23 22:52:00 494

转载 《LoadRunner 没有告诉你的》之一

描述性统计与性能结果分析LoadRunner中的90%响应时间是什么意思?这个值在进行性能分析时有什么作用?本文争取用最简洁的文字来解答这个问题,并引申出“描述性统计”方法在性能测试结果分析中的应用。为什么要有90%用户响应时间?因为在评估一次测试的结果时,仅仅有平均事务响应时间是不够的。为什么这么说?你可以试着想想,是否平均事务响应时间满足了性能需求就表示系统的性能已经满足了绝大

2009-11-23 22:47:00 350

转载 ASP.NET MVC 小技巧 1-2

 1.Controller来控制HTML的Title我想大部分朋友都有在Controller里面指定Html页面Title的需求。我习惯于先写使用的代码再去完善其实现,而指定一个Title最方便的形式莫过于: 1: public ActionResult Index(int id) { 2: var article=Db.GetArticle(id)

2009-11-22 14:19:00 253

转载 ASP.NET MVC 分页控件

 3.Pager3.1需求及模拟代码需求,假设我们有个列表,有分页功能,我们可能需要一个页码列表,如 我们模拟写一下Action: 1: public ActionResult Index(int? p) 2: { 3: if (!p.HasValue) p = 1;//如果未对p传值就是第1页 4: var

2009-11-22 14:15:00 878 1

原创 Repository模式

 近来发现很多ASP.NET MVC的例子中都使用了Repository模式,比如Oxite,ScottGu最近发布的免费的ASP.NET MVC教程都使用了该模式。就简单看了下。在《企业架构模式》中,译者将Repository翻译为资源库。给出如下说明:通过用来访问领域对象的一个类似集合的接口,在领域与数据映射层之间进行协调。在《领域驱动设计:软件核心复杂性应对之道》中,译者将Repos

2009-11-20 00:53:00 323

转载 ASP.NET文件下载函数使用浅析

 ASP.NET文件下载函数使用是什么情况呢?在你的Page_Load中添加这样的代码:Page.Response.Clear(); bool success = ResponseFile(Page.Request, Page.Response, "目的文件名称", @"源文件路径", 1024000); if (!success) Response.Write("下载文件出错!"); Pag

2009-11-19 17:16:00 236

转载 C#截取DOS命令输出流取得网卡MAC地址

 大家都知道网卡的MAC地址可以从DOS窗口中通过输入"ipconfig /all"命令运行结果获得,那么这个问题的具体内容是: 在C#中运行一个dos命令,并截取相关输出、输出流。 具体代码如下:C# code tbResult.Text = "";  ProcessStartInfo start = new ProcessStartInfo("Ping.exe"); //设置运行的命令行文件问

2009-11-19 17:15:00 320

转载 ASP.NET页面的CheckBoxList组件

 CheckBox选择组件是一个程序中都经常的组件。在程序设计中使用到该组件,一般都不会只使用到一个,往往是以多个此类组件的形式出现的。在ASP.NET页面中如果要使用到多个CheckBox组件,除了添加多个CheckBox组件在页面中之外,还有一种比较方便的方法,就是使用CheckBoxList 组件。CheckBoxList组件是由一组的CheckBox组件组成的,在此组件中CheckBo

2009-11-19 17:14:00 255

转载 ASP.NET的五大数据控件浅谈

 ASP.NET 数据控件:GridView,DataList,Repeater ,DetailsView,FormView。 ASP.NET 数据控件综述: 1.前3个用于呈现多条记录,后面2个用于呈现单条数据明细,即常用的记录明细。 2.GridView和DetailsView控件的布局固定,自定义数据显示的布局功能有限,一般适合布局简单的数据呈现。3.DataList,Repeater和

2009-11-19 17:13:00 214

转载 ASP.NET中防止页面多次提交的代码实现

    此处提供的代码用来实现当asp.net页面中的某个Button被点击后disable掉该页面中所有的Button,从而防止提交延时导致的多次提交。基于之前的onceclickbutton脚本.//ASP.NET中防止页面多次提交的代码:javascript var obj = event.srcElement; var objs = document.getElementsByTagNam

2009-11-19 17:11:00 215

转载 ASP.NET生成随机密码

 在开发需要用户注册后才能使用提供的各项功能的应用程序时,在新用户提交注册信息后,较常见的做法是由程序生成随机密码,然后发送密码到用户注册时填写的电子信箱,用户再用收到的密码来激活其帐户。实现ASP.NET生成随机密码功能是很容易的,下面的代码给出了完整的实现方法:publicstaticstringMakePassword(stringpwdchars,intpwdlen){ stringtmp

2009-11-19 17:09:00 228

转载 C#时间间隔计算可以通过时间刻度类TimSpan类

 实现两个时间之间C#时间间隔计算: TimeSpan ts1 = new TimeSpan(DateTime.Now.Ticks); //获取当前时间的刻度数 //你的代码或者其他操作 TimeSpan ts2 = new TimeSpan(DateTime.Now.Ticks); TimeSpan ts = ts2.Subtract(ts1).Duration(); //时间差的绝对值 Str

2009-11-19 17:09:00 639

转载 ASP.NET页面刷新方法总结

 第一: private void Button1_Click( object sender, System.EventArgs e ) { Response.Redirect( Request.Url.ToString( ) ); } 第二: private void Button2_Click( object sender, System.EventArgs e ) { Response.Wr

2009-11-19 17:08:00 220

原创 不用设置iis .net 实现urlrewrite

 不用设置iis .net 实现urlrewrite说到不用设置iis,主要是为了实现在虚拟主机或是拿不到iis操作限的时候,不能添加isap又想实现类似于静态化的程序实现方式,先声明,这里最终要实现的效果是,最终可以用12345.aspx替换show.aspx?id=12345这样的地址访问程序要调整的部分只有两块。一是web.config文件。二是链接地址。所需dll。urlrew

2009-11-19 17:03:00 296

转载 UrlReWriter 使用经验小结

 UrlRewriter 是微软封装好了的一个URL重写组件。使用它可以让我节约很多自已开发的时间。   好了,开始讲述我的应用经验,这只是很菜鸟的经验,高手就不用看了。  第一步,请从此下载此组件。解压,把UrlRewriter.dll copy到你的项目 bin 目录下。  第二步,在Web.config中加入:             第二步,加入重写的规则节点:  

2009-11-19 16:55:00 254

转载 .NET完美实现伪静态页面,URLRewriter.dll下载

    URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程。比如浏览器发来请求hostname/101.aspx ,服务器自动将这个请求中定向为http://hostname/list.aspx?id=101。url重写的优点在于:缩短url,隐藏实际路径提高安全性易于用户记忆和键入。 易于被搜索引擎收录二 实现url重写的基本方法下载MS的URLRewriter.dll

2009-11-19 16:32:00 418

转载 堆排序-百度百科

 堆排序原理及分析   起源  1991年计算机先驱奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德(Robert W.Floyd)和威廉姆斯(J.Williams)在1964年共同发明了著名的堆排序算法( Heap Sort )   “堆”定义  n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质):  (1) ki≤

2009-11-10 09:18:00 817

转载 堆排序-博客园

 先给出大根堆的定义:完全二叉树,任一非叶子结点都大于等于它的孩子,也就是说根结点是最大的。而且显然大根堆的任一棵子树也是大根堆。        堆排序的基本思想是:记录区的分为无序区和有序区前后两部分;用无序区的数建大根堆,得到的根(最大的数)和无序区的最后一个数交换,也就是将该根归入有序区的最前端;如此重复下去,直至有序区扩展至整个记录区。具体操作可按下面步骤实现:1。建大根堆2。交换根和无序

2009-11-10 09:17:00 414

转载 基数排序法-百度百科

 “基数排序法”(radix sort)则是属于“分配式排序”(distribution sort),基数排序法又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它

2009-11-10 09:16:00 670

原创 基数排序

 基数排序是采用“分配”与“收集”的办法,用对多关键码进行排序的思想实现对单关键码进行排序的方法。多关键码排序:1.以扑克牌排序为例。每张扑克牌有两个“关键码”:花色和面值。其有序关系为:花色:面值:2 2.如果我们把所有扑克牌排成以下次序:3.这就是多关键码排序。排序后形成的有序序列叫做词典有序序列。4.对于上例两关键码的排序,可以先按花色排序,之后再

2009-11-10 09:14:00 467

原创 GridView 批量删除,自定义分页,定位页码

 前台代码: 发件人 标题 日期 BackColor="White" BorderColor="#CC9966" BorderWidth="1px" CellPadding="4" DataKeyNames="id" HorizontalAlign="Center" Width="100%" BorderStyle="None" ShowHeader="Fal

2009-11-03 18:23:00 379

原创 ASP.NET AJAX客户端编程教程(3)——让JavaScript和C#无障碍沟通:数据类型自动转换&序列化

摘要通过前两篇文章,我们知道使用了ASP.NET AJAX框架后,在JavaScript中调用后台WebService方法非常方便,几乎可以看做是“直接调用”。那么,这里引出了一个问题:调用方法就牵扯到参数的传递,而JavaScript和C#毕竟是两种不同的语言,数据类型怎么沟通?简单型数据类型还好说,如果我们需要的参数是个复杂类型呢?如分层架构中经常用到实体类做参数,我们在后台定义实体类类型

2009-11-03 18:21:00 532

原创 ASP.NET AJAX客户端编程教程(2)——知其所以然

摘要在上一篇文章中,做了一个“Hello!ASP.NET AJAX”的小例子,但是并没有对其中的技术做解释。这一篇中,将探讨一下使用ASP.NET AJAX框架在客户端调用后台代码的基本方法,并且讨论异常处理的方法。如何在客户端直接调用WebService中的方法?1.Web.config中需要配置好运行ASP.NET AJAX框架相应的配置项,当然,建立一

2009-11-03 18:20:00 390

原创 ASP.NET AJAX客户端编程教程(1)——Hello!ASP.NET AJAX

摘要本文将首先介绍一下文章的写作背景和用到的相关技术。然后将分别使用朴素的Ajax技术和ASP.NET AJAX框架分别实现经典的“Hello!XX”,通过两个小例子,使朋友们对这个框架的特点和框架的使用方法有一个初步的认识。前言我想,如果今天哪个Web开发人员说没有听说过Ajax技术,那实在太不可思议了。确实,近几年,Ajax这个词以超乎想象的速度红遍Web开发领域,大到Google

2009-11-03 18:19:00 383

原创 .NET对象的XML序列化和反序列化实例详解

.NET对象的XML序列化和反序列化是如何实现的呢?通过下面实例中的xml schema 描述了一个简单的人力资源信息,详细向你介绍.NET对象的XML序列化和反序列化的实现过程其中包含了XML的大部分格式,如XML元素相互嵌套, XML元素既有元素值,又有属性值。XML序列化和反序列化实现1. 待序列化的类层次结构[XmlRoot("humanResource")]  public cl

2009-11-03 17:17:00 674

原创 ASP.NET 序列化和反序列化

一、序列化就是将内存中的数据(对象、对象的集合等)保存到存储介质(流、文件等)中的过程。序列化的目的是:1、对象持久化。通过序列化,将对象等数据存储在硬盘之类的介质中,从而实现对象的持久化。2、数据传输。通过序列化,可以将对象传输到过程,这样,远端应用程序获得数据就可以不再进行转换,直接使用对象进行数据操作了。    对象序列化后,类的名称、程序集以及类实例的所有数据成员均被写入存

2009-11-03 17:14:00 426

转载 浅析C#3.0编码习惯与命名规则

 1.用Pascal规则来命名方法和类型。 public class DataGrid { public void DataBind() { } }2.用Camel规则来命名局部变量和方法的参数. public class Product { private string _productId; private s

2009-11-03 14:16:00 293

原创 C#连接数据库和更新数据库

 对数据库的操作总体可以分为两类:查询(select)和更新(insert,delete,update)。为什么这样来分呢?仔细看看两类的区别,select只是从数据库中将数据拿出来使用,而其余三者都会对数据库的物理数据进行修改。capucivar在上篇文章中已经对数据库的查询操作进行了详细的阐述。这篇文章将接着阐述更新数据。更新数据库信息首先是连接数据库,这个capucivar在《C#连接数

2009-11-03 14:14:00 593

转载 C#中使用多线程访问Winform问题解决方案

    我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。首先来看传统方法:public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(obj

2009-11-03 14:11:00 551

转载 C#的反射详解(二)

动态添加和使用类型 反射提供了由语言编译器 (例如 Microsoft Visual Basic .NET 和 JScript)用来实现隐式晚期绑定的基础结构。绑定是查找与唯一指定的类型相对应的声明(即实现)的过程。由于此过程在运行时而不是在编译时发生,所 以称作晚期绑定。Visual Basic .NET 允许您在代码中使用隐式的晚期绑定;Visual Basic 编译器将调用一个帮助器方法

2009-11-03 14:08:00 363

原创 C#编程中的反射机制与方法详解

Reflection,中文翻译为反射。这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如:Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。

2009-11-03 13:43:00 509

转载 C#反射静态方法开发实例详解(从DataReader将数据填充到数据实体泛型集合)

 C#反射静态方法开发在实际的开发中起着很重要的作用,如何通过反射填充泛型集合List的静态方法呢?就是如何通过反射,从DataReader将数据填充到数据实体泛型集合的静态方法.那么我们来看看具体的实现方法:C#反射静态方法开发实例://Kchen.Core.BaseBusinessObject //为通用数据实体类,此处仅为限定T所继承的类型 public static IList

2009-11-03 13:41:00 1789

转载 C#委托、事件与回调函数(一)

 .Net编程中最经常用的元素,事件必然是其中之一。无论在ASP.NET还是WINFrom开发中,窗体加载(Load),绘制(Paint),初始化(Init)等等。“protected void Page_Load(object sender, EventArgs e)”这段代码相信没有人不熟悉的。细心一点一定会发现,非常多的事件方法都是带了“object sender, EventArgs e”

2009-11-03 13:28:00 337

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除