摘要:有很多人经常会持有这样的疑问:为什么 .NET 框架要把一些很简单的功能也封装起来?而有些人所坚持的“有现成的就用现成的”的习惯在那些“明明只是很简单的功能却被封装了起来”的情况下也显得很可笑。那么,实际上到底有没有必要用那些本来就很简单的封装?这些简单的封装到底具有什么样的意义呢? 其实大部分这样的简单的封装都是针对“跨平台使用”而设计的。有些人可能会说:.NET 框架有什么跨平台可言?其实 .NET 框架虽然现在只提供 Windows 上的版本,但其它平台上的 CLI 实现,如 Mono、DotGNU 等等也都有赖于 .NET 框架和 CLI 的预见性方能成为现实;而可以在多种环境... 阅读全文
一起谈.NET技术,在 Linux 操作系统中运行 ASP.NET 4 (中)
2011-09-02 00:19 by 狼人:-), 263 阅读, 0 推荐, 收藏,
摘要:在 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 狼人:-), 290 阅读, 0 推荐, 收藏,
摘要:推荐两款神器: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 狼人:-), 462 阅读, 0 推荐, 收藏,
摘要:“在 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 狼人:-), 402 阅读, 0 推荐, 收藏,
摘要:通过好友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 狼人:-), 338 阅读, 0 推荐, 收藏,
摘要:开场白 各位朋友们,当你们看到网上传播关于微软windows、IE对黑客利用“缓冲区溢出”、0day漏洞攻击的新闻,是否有过自己也想试试身手,可惜无从下手的感慨?本文将完全使用C#语言,探索那些不为人知的秘密。 1.本文讲述在C#中利用堆栈缓冲区溢出动态修改内存,达到改变应用程序执行流程的目的。 2.如果你是高手,请指出本文的不足。 3.为了让本文通俗易懂,代码将极尽精简。 现在开始 我们知道,当数组下标越界时,.NET会自动抛出StackOverflowException,这样便让我们可以安全的读写内存,那么我们有没有逾越这个自动检测的屏障,达到我们非常操作的... 阅读全文
一起谈.NET技术,使用SharePoint 2007 Web Service上传文件到文档库
2011-09-02 00:19 by 狼人:-), 210 阅读, 0 推荐, 收藏,
摘要: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 狼人:-), 210 阅读, 0 推荐, 收藏,
摘要:日常工作中,需要为程序集提供统计分析: 1:程序集方法数; 2:开发人员数目及各自所开发或REVIEW的方法数; 3:测试中,被标注有BUG的数目; 4:直接查看方法的IL代码; 鉴于以上统计的需要,特开发本EXE。 1:关于特性Attribute的知识补充 "Attribute是一种可由用户自由定义的修饰符(Modifier),可以用来修饰各种需要被修饰的目标"。它的作用是为它们的修饰目标追加上一些额外的信息——比如"这个类是我写的"或者"这个函数以前出过问题"等等。 它跟注释的区别是:注释是对程序源代码的一种说明,主要目的是给人看 阅读全文
一起谈.NET技术,WPF的消息机制(一)- 让应用程序动起来
2011-09-02 00:19 by 狼人:-), 245 阅读, 0 推荐, 收藏,
摘要:前言 谈起“消息机制”这个词,我们都会想到Windows的消息机制,系统将键盘鼠标的行为包装成一个Windows Message,然后系统主动将这些Windows Message派发给特定的窗口,实际上消息是被Post到特定窗口所在线程的消息队列,应用程序的消息循环再不断的从消息队列当中获取消息,然后再派发给特定窗口类的窗口过程来处理,在窗口过程中完成一次用户交互。 其实,WPF的底层也是基于Win32的消息系统,那么对于WPF应用程序来说,它是如何跟Win32的消息交互,这里到底存在一个什么样的机制?接下来我会通过下面几篇博文介绍这个消息机制: WPF的消息机制(一)-让... 阅读全文
一起谈.NET技术,ASP.NET MVC & EF 构建智能查询 一、智能查询的需求与设计
2011-09-02 00:19 by 狼人:-), 313 阅读, 0 推荐, 收藏,
摘要:关于复用 在我们日常的开发过程中,代码的复用其实是很重要的一部分,ASP.NET MVC框架本身为我们提供了很多很好的复用机制,让我们能充分地利用它们来节省我们的Coding成本。 在简单的Coding中,我们可以通过构造方法来实现代码段的复用,在OOP编程中我们可以使用继承多态来进行类的复用,我们也可以使用设计模式来做类或对象间的代码设计的复用,随着程序的复杂我们就想构造出更佳的复用方式,可以向更高层次上抽象。 应用场景与目标 在信息管理系统中我们会开发大量的List页面,它们功能上通常是非常相似的,一般是包含一个查询条件组和一个列表。 例如下图所示: 那我的目标... 阅读全文
一起谈.NET技术,ASP.NET MVC & EF 构建智能查询 二、模型的设计与ModelBinder
2011-09-02 00:19 by 狼人:-), 260 阅读, 0 推荐, 收藏,
摘要:在第一篇中,我讲解了我们要做智能查询的原因,以及基本的解决方案设计。从这篇开始我们开始讲解它的实现过程。 其实在写这一系列文章之初,我其实是想由底至上去讲解,但是我又整理了一遍代码才发现,其实如果不了解最表面的东西,也是不太好深入的。 所以我们的第二篇文章就来讲一下我们这个智能查询框架中最浅,但也是使用最频繁的部分,也就是Model。 首先我们的Entity 或者说数据库的结构如下: 另外如下面代码,我们有一个用于传递name=value对,及查询谓词的model: Code highlighting produced by Actipro CodeHighlighter... 阅读全文
一起谈.NET技术,也谈ASP.NET 中的身份验证
2011-09-02 00:19 by 狼人:-), 209 阅读, 0 推荐, 收藏,
摘要:一、配置安全身份验证模式 在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 狼人:-), 243 阅读, 0 推荐, 收藏,
摘要:在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 狼人:-), 250 阅读, 0 推荐, 收藏,
摘要:在我先前的文章中,不断的推广.NET4.0新特性。特别是.NET4.0 Dynamic 这个新特性。随之而来的问题也出现了—Dynamic 执行效率如何? 我们做开发的不光需要代码简洁,能够希望自己能够写出好的架构。还有一点非常重要的就是,我们的写出来的代码效率。撇开Dynamic在.net4.0中的实现原理。本篇只考虑dynamic 的效率比起使用反射到底是快还是慢?难道.NET为引入了dynamic这个新鲜事物降低了我们的程序效率?有网友指出评论一个特性或者方法的效率如何,唯一的判定标准就是实测。 切入主题,按照以下代码,来结束你对dynamic的效率怀疑吧!!! 1、新建... 阅读全文
一起谈.NET技术,C#基础之委托异步
2011-09-02 00:19 by 狼人:-), 349 阅读, 1 推荐, 收藏,
摘要:大家知道委托就相当于C++里面的函数指针,相信大家都很很了解,看看如下简单代码来回想一下委托 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public delegate void Ad(); xu xus = new xu(); Ad b = new Ad(xus.Add); b += xus.ex; b(); Console.ReadLine();
... 阅读全文
浙公网安备 33010602011771号