代码改变世界

随笔分类 -  [01].NET技术

一起谈.NET技术,应用Visual Studio 2010辅助敏捷测试(下)

2011-09-02 00:19 by 狼人:-), 214 阅读, 收藏, 编辑
摘要: 随着需求的不断变化和迭代的深入,代码库不可避免的会有频繁的签入和签出,此时测试人员一项很重要的任务就是要预防回归问题发生。执行手工测试用例可以帮助我们预防及和发现回归问题,但是它的执行效率太低,无法胜任频繁执行的要求。这时就我们需要考虑采用自动化测试用例完成这项工作。决定是否采用自动化测试是有很多因素决定,其中很重要的一条就是自动测试的收益,下面的公式从概念上解释了如何来计算这个收益,当收益值大于1的时候,实施自动化测试就是合算的;否则,就是不合算的。 图1:计算收益公式 这其中,开发和维护自动测试的成本是影响这个收益的重要因素,为此VS 2010提供了一整套的解决方案,帮助测试团队... 阅读全文

一起谈.NET技术,细数ASP.NET MVC框架的7大顶级功能

2011-09-02 00:19 by 狼人:-), 404 阅读, 收藏, 编辑
摘要: ASP.NET MVC框架对构建ASP.NET应用程序的开发人员来说的确很有吸引力,因为它的松耦合特征使项目管理变得更加轻松,ASP.NET MVC最初由微软随.NET framework 3.5 SP1一起引入(即ASP.NET MVC 1.0),现在.NET Framework 4.0和Visual Studio 2010默认支持第二个版本,即ASP.NET MVC 2.0,在这篇文章中,我将带你领略一下ASP.NET MVC框架的7个顶级功能。 所有概念都围绕下面三个主要组件展开: · 模型(用M表示):模型是负责表现底层数据库模式的业务对象,容纳MVC应用程序的数据/状... 阅读全文

一起谈.NET技术,探秘.NET 4和Visual Studio 2010中的多核利用

2011-09-02 00:19 by 狼人:-), 228 阅读, 收藏, 编辑
摘要: 如果你想利用多核机器的强大计算能力,你需要使用PLINQ(并行LINQ),任务并行库(Task Parallel Library,TPL)和Visual Studio2010中的新功能创建应用程序。 以前,如果你创建的多线程应用程序有BUG,那要跟踪起来是很麻烦的,但现在情况完全变了,感谢微软为我们带来了Microsoft Parallel Extensions for .NET(.NET并行扩展),它在.NET框架线程模型上提供了一个抽象层。 并行扩展遵循微软在COM应用程序中建立的事务管理和在数据访问领域建立的实体框架和LINQ模型,它试图通过给.NET框架中的复杂过程建立高... 阅读全文

一起谈.NET技术,使用MonoDevelop开发GTK#图形界面

2011-09-02 00:19 by 狼人:-), 1058 阅读, 收藏, 编辑
摘要: Mono一直到现在的2.8已经完全可以胜任一些比较小的项目了,但相关的开发文档与教程一直比较匮乏,中文材料更是屈指可数。虽然Mono与.net很多类库都是通用的,但Mono仍然有为数不少的扩充类库,其中最重要的就是对于GTK二次封装的GTK#图形界面类库了,目前想要开发原生的Mono图形界面程序此类库必不可少。在MonoDevelop里已经支持对于GTK#界面设计的直接拖放,有相关经验的开发人员可以很快上手。 Mono官方网站上也有一篇GTK#开发的入门文档:Stetic GUI Designer,现在结合此教程简要概述一下如何在MonoDevelop下使用GTK#。 首先,我们需... 阅读全文

一起谈.NET技术,ASP.NET中的认证与授权

2011-09-02 00:19 by 狼人:-), 221 阅读, 收藏, 编辑
摘要: 用户认证 .net提供了3种用户认证的方式,分别是Windows,Forms,Passport。这几种形式的定义可以在网站根目录下Web.config中的authentication节点中看见。Windows是默认的验证形式,它是根据机器的访问权限来判断的。Passport是微软提供的一种验证形式,不常用。我们需要的知道并了解的是forms形式。forms验证就是表单认证,提供了以身份id和密码的形式进行验证和授权管理的功能。 在正式使用forms验证之前我们先看看它运行的一个流程: 从上图我们可以看出我们需要做一下几件事情: 1.配置web.config启用forms验证... 阅读全文

一起谈.NET技术,在 Linux 操作系统中运行 ASP.NET 4(上)

2011-09-02 00:19 by 狼人:-), 414 阅读, 收藏, 编辑
摘要: 目前最流行的 Linux 操作系统发行版是 Ubuntu。但是我们这次是要在 Linux 操作系统中运行 ASP.NET 的,所以选择了 openSUSE。我准备在 Oracle VM VirtualBox 中安装 openSUSE 11.3 操作系统。 首先到 openSUSE 官方网站下载 openSUSE-11.3-DVD-x86_64.iso 文件。 然后运行 Oracle VM VirtualBox 4.0,新建一个 openSuse 虚拟机并按下图进行设置: 为了使宿主机能够从网络上访问虚拟机,网络连接方式必须设为 Bridged Adapter,如下图所示: ... 阅读全文

一起谈.NET技术,.NET框架:为什么我们要尽量使用框架内建的功能,而不是重新发明

2011-09-02 00:19 by 狼人:-), 188 阅读, 收藏, 编辑
摘要: 有很多人经常会持有这样的疑问:为什么 .NET 框架要把一些很简单的功能也封装起来?而有些人所坚持的“有现成的就用现成的”的习惯在那些“明明只是很简单的功能却被封装了起来”的情况下也显得很可笑。那么,实际上到底有没有必要用那些本来就很简单的封装?这些简单的封装到底具有什么样的意义呢? 其实大部分这样的简单的封装都是针对“跨平台使用”而设计的。有些人可能会说:.NET 框架有什么跨平台可言?其实 .NET 框架虽然现在只提供 Windows 上的版本,但其它平台上的 CLI 实现,如 Mono、DotGNU 等等也都有赖于 .NET 框架和 CLI 的预见性方能成为现实;而可以在多种环境... 阅读全文

一起谈.NET技术,在 Linux 操作系统中运行 ASP.NET 4 (中)

2011-09-02 00:19 by 狼人:-), 244 阅读, 收藏, 编辑
摘要: 在 Linux 操作系统中运行 ASP.NET 4(上)已经讲解了如果在 Oracle VM VirtualBox 4.0 中安装 openSUSE 11.3 操作系统。现在让我们对刚刚安装好的 openSUSE 11.3 操作系统进行必要的配置吧。 如上图所示,点击计算机 –> YaST,然后: 输入 root 口令后,点击继续,进入YaST2 Control Center: 如上图所示,点击安全和用户中的Sudo项目,进入Sudo 配置: sudo 规则: 如上图所示,点击添加按钮,进入新的 Sudo 规则: 如上图所示,给自己的用户添加一个 sudo ... 阅读全文

一起谈.NET技术,给大家分享两款正在使用的reflector插件

2011-09-02 00:19 by 狼人:-), 261 阅读, 收藏, 编辑
摘要: 推荐两款神器:Deblector和reflexil Deblector 它的名字是Debug 和 reflector 两个单词的结合。就是用来调试的。 简单的说,它可以像ide一样启动调试进程,或者Attach到一个运行中的进程,并调试他们,设置断点,单步运行,查看变量等等。 它不需要pdb文件,也不会像reflector pro的调试插件一样依赖ide,也不需要反编译dll。 一切工作仅在reflector内部完成,是不是很cool。 但缺点也是有的,那就是它只能在il级别调试。不过对于我们调试bug来说,这个基本已经足够了。 简单说一下这个插件的用法。安装到reflecto... 阅读全文

一起谈.NET技术,在 Linux 操作系统中运行 ASP.NET 4 (下)

2011-09-02 00:19 by 狼人:-), 439 阅读, 收藏, 编辑
摘要: “在 Linux 操作系统中运行 ASP.NET 4 (中)”中已经配置好了 openSUSE 11.3 操作系统。 现在,我们进入“GNOME 终端”,使用 ifconfig 命令验证一下本虚拟的 IP 地址就是一开始我们在宽带路由器中为它分配的静态地址。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->ben@linux-nyhn:~> /sbin/ifconfigeth0 Link encap:Ethernet HWad... 阅读全文

一起谈.NET技术,在MVC2.0使用Lodop为WEB打印提出完美解决方案

2011-09-02 00:19 by 狼人:-), 383 阅读, 收藏, 编辑
摘要: 通过好友CallHot介绍Lodopweb打印控件。由于是国人开发的,故这两天认真了研究下,打算在未来的项目中使用。现将学习成果与园友分享。如果存在不足的地方,希望您指出。 具体的实现步骤如下: 一、准备工作 1.MVC2.0 + jQuery1.4.1 开发环境。 2.Lodop web 打印控件,官方地址:http://mtsoftware.v053.gokao.net/download.html (注:国人开发,免费软件)。 3.StringTemplate,C#开源模板引擎。官方地址:http://www.stringtemplate.org。 本文主要给出... 阅读全文

一起谈.NET技术,C#不为人知的秘密-缓冲区溢出

2011-09-02 00:19 by 狼人:-), 319 阅读, 收藏, 编辑
摘要: 开场白 各位朋友们,当你们看到网上传播关于微软windows、IE对黑客利用“缓冲区溢出”、0day漏洞攻击的新闻,是否有过自己也想试试身手,可惜无从下手的感慨?本文将完全使用C#语言,探索那些不为人知的秘密。 1.本文讲述在C#中利用堆栈缓冲区溢出动态修改内存,达到改变应用程序执行流程的目的。 2.如果你是高手,请指出本文的不足。 3.为了让本文通俗易懂,代码将极尽精简。 现在开始 我们知道,当数组下标越界时,.NET会自动抛出StackOverflowException,这样便让我们可以安全的读写内存,那么我们有没有逾越这个自动检测的屏障,达到我们非常操作的... 阅读全文

一起谈.NET技术,使用SharePoint 2007 Web Service上传文件到文档库

2011-09-02 00:19 by 狼人:-), 190 阅读, 收藏, 编辑
摘要: SharePoint 2010中有了全新的客户端模型,给我们在客户端操作SharePoint对象提供了很大的方便,但是在SharePoint 2007中我们可以使用的方式就比较有限,Web Service是我们最常用的一种方式,SharePoint本身提供了很多web Service,比如Lists.asmx如下图: 我们下面就接触sharepoint提供的web service来实现上传文件。 1. 我们要上传的文件如下图: 2. 下图为要上传的文档库: 3. 实现代码如下: Code highlighting produced by Actipro ... 阅读全文

一起谈.NET技术,C#特性Attribute的实际应用之:代码统计分析

2011-09-02 00:19 by 狼人:-), 191 阅读, 收藏, 编辑
摘要: 日常工作中,需要为程序集提供统计分析: 1:程序集方法数; 2:开发人员数目及各自所开发或REVIEW的方法数; 3:测试中,被标注有BUG的数目; 4:直接查看方法的IL代码; 鉴于以上统计的需要,特开发本EXE。 1:关于特性Attribute的知识补充 "Attribute是一种可由用户自由定义的修饰符(Modifier),可以用来修饰各种需要被修饰的目标"。它的作用是为它们的修饰目标追加上一些额外的信息——比如"这个类是我写的"或者"这个函数以前出过问题"等等。 它跟注释的区别是:注释是对程序源代码的一种说明,主要目的是给人看 阅读全文

一起谈.NET技术,WPF的消息机制(一)- 让应用程序动起来

2011-09-02 00:19 by 狼人:-), 221 阅读, 收藏, 编辑
摘要: 前言 谈起“消息机制”这个词,我们都会想到Windows的消息机制,系统将键盘鼠标的行为包装成一个Windows Message,然后系统主动将这些Windows Message派发给特定的窗口,实际上消息是被Post到特定窗口所在线程的消息队列,应用程序的消息循环再不断的从消息队列当中获取消息,然后再派发给特定窗口类的窗口过程来处理,在窗口过程中完成一次用户交互。 其实,WPF的底层也是基于Win32的消息系统,那么对于WPF应用程序来说,它是如何跟Win32的消息交互,这里到底存在一个什么样的机制?接下来我会通过下面几篇博文介绍这个消息机制: WPF的消息机制(一)-让... 阅读全文

一起谈.NET技术,ASP.NET MVC & EF 构建智能查询 一、智能查询的需求与设计

2011-09-02 00:19 by 狼人:-), 282 阅读, 收藏, 编辑
摘要: 关于复用 在我们日常的开发过程中,代码的复用其实是很重要的一部分,ASP.NET MVC框架本身为我们提供了很多很好的复用机制,让我们能充分地利用它们来节省我们的Coding成本。 在简单的Coding中,我们可以通过构造方法来实现代码段的复用,在OOP编程中我们可以使用继承多态来进行类的复用,我们也可以使用设计模式来做类或对象间的代码设计的复用,随着程序的复杂我们就想构造出更佳的复用方式,可以向更高层次上抽象。 应用场景与目标 在信息管理系统中我们会开发大量的List页面,它们功能上通常是非常相似的,一般是包含一个查询条件组和一个列表。 例如下图所示: 那我的目标... 阅读全文

一起谈.NET技术,ASP.NET MVC & EF 构建智能查询 二、模型的设计与ModelBinder

2011-09-02 00:19 by 狼人:-), 234 阅读, 收藏, 编辑
摘要: 在第一篇中,我讲解了我们要做智能查询的原因,以及基本的解决方案设计。从这篇开始我们开始讲解它的实现过程。 其实在写这一系列文章之初,我其实是想由底至上去讲解,但是我又整理了一遍代码才发现,其实如果不了解最表面的东西,也是不太好深入的。 所以我们的第二篇文章就来讲一下我们这个智能查询框架中最浅,但也是使用最频繁的部分,也就是Model。 首先我们的Entity 或者说数据库的结构如下: 另外如下面代码,我们有一个用于传递name=value对,及查询谓词的model: Code highlighting produced by Actipro CodeHighlighter... 阅读全文

一起谈.NET技术,也谈ASP.NET 中的身份验证

2011-09-02 00:19 by 狼人:-), 190 阅读, 收藏, 编辑
摘要: 一、配置安全身份验证模式 在Web.config 文件中,通过 <authentication> 节可以配置 ASP.NET 使用的安全身份验证模式,以标识传入的用户。 <authentication mode="[Windows|Forms|Passport|None]"> <forms>...</forms> <passport/> </authentication> <authentication> 节的mode 为必选的属性。指定应用程序的默认身份验证模式。此属性可以为下列值之一: 阅读全文

一起谈.NET技术,VS调试Tip集结

2011-09-02 00:19 by 狼人:-), 217 阅读, 收藏, 编辑
摘要: 在VSX群里陈锋,录制了几个调试的视频,感觉挺有用的。调试其实大家都知道怎么去做。但是不一定对我开发IDE给我提供的快捷方式全部了解。在这里我对这些做一些集结,这里也不是很全,希望大家在后面补上,让楼主也张张见识,哈哈。 1:DbgView和vs output窗口: 对于我在代码中写有Debug输出的再vs调试状态下我们可以再vs输出窗口看见,打印一些我们所关心的变量数据等。当我们的程序在运行的时候就可以用DbgView获取我们的打印。 2:断点:(这个是大家所熟悉的): vs中给我们提供了Condition,Hit Count、Filter、when Hit、Ed... 阅读全文

一起谈.NET技术,.NET4.0 之 Dynamic VS Reflection 效率

2011-09-02 00:19 by 狼人:-), 230 阅读, 收藏, 编辑
摘要: 在我先前的文章中,不断的推广.NET4.0新特性。特别是.NET4.0 Dynamic 这个新特性。随之而来的问题也出现了—Dynamic 执行效率如何? 我们做开发的不光需要代码简洁,能够希望自己能够写出好的架构。还有一点非常重要的就是,我们的写出来的代码效率。撇开Dynamic在.net4.0中的实现原理。本篇只考虑dynamic 的效率比起使用反射到底是快还是慢?难道.NET为引入了dynamic这个新鲜事物降低了我们的程序效率?有网友指出评论一个特性或者方法的效率如何,唯一的判定标准就是实测。 切入主题,按照以下代码,来结束你对dynamic的效率怀疑吧!!! 1、新建... 阅读全文
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 56 下一页
点击右上角即可分享
微信分享提示