代码改变世界

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

一起谈.NET技术,ASP.NET下用URLRewriter重写二级域名

2011-09-01 23:58 by 狼人:-), 198 阅读, 收藏,
摘要: 这里要求对域名进行重写,实现http://1234.abc.com/ 到 ~/Defa.aspx?id=1234的重写。 第一:域名 首先域名要支持泛解悉,就是域名解悉的主机名为星号*,例:*.abc.com。如下图 这样能保证你在浏览器地址栏输入任何前缀,DNS都会把它们指向到你指定的IP地址上。 第二:IIS设置(Win2003 + IIS 6为例) (1)网站必须为Web服务器的默认站点,即端口号为80,主机头为空的站点。如下图所示。 该站点接收所有对该服务器的HTTP请求(其它设置为主机头的站点除外)。所以任何二级域名访问该服务器都会由该站点进行处理。 ... 阅读全文

一起谈.NET技术,关于Winform下,获取Treeview中CheckBox选中项的技巧

2011-09-01 23:58 by 狼人:-), 281 阅读, 收藏,
摘要: 背景 今天,在做一个指纹管理平台的界面上,遇到了一些问题,因为公司的基础库中没有针对Winform平台的操作,所以在一个部门选择的场景中,关于如何获取部门TreeView中被选中的项目被难住了。所幸还有一个神器叫做搜索引擎,故谷歌一番,发现Asp.net下的这个问题很好解决,但是关于Winform平台下的类似问题,如凤毛麟角啊! 当然,今天我也是查了很久,终于发现了两篇不错的文章,帮助我解决了这个问题,不敢独享,结合自己对使用其方法的心得,特意记录下来,并通过一个小例子和大家一起分享。 问题是这样的 有一个部门列表,多级的(或者说无限极),我们在Winform端列出来(这个很简单)后,需要对其 阅读全文

一起谈.NET技术,.NET异步编程:IO完成端口与BeginRead

2011-09-01 23:58 by 狼人:-), 187 阅读, 收藏,
摘要: 写这个系列原本的想法是讨论一下.NET中异步编程风格的变化,特别是F#中的异步工作流以及未来的.NET 5.0中的基于任务的异步编程模型。但经过前几篇文章(为什么需要异步,传统的异步编程,使用CPS及yield实现异步)的发表后,很多人对IO异步背后实现的原理以及为什么这样能提高性能很感兴趣。其实我本不想花更多的文字在这些底层实现的细节上,一来我并不擅长这些方面,二来我们使用.NET的异步IO就不需要关心这些底层东西,因为已经为你封装完备了。不过为了避免大家一再在这上面商讨,我还是在这个系列中间插入了一篇来解释一下。 本文我将从内核对象IO完成端口开始介绍,然后来瞧瞧.NET BCL... 阅读全文

一起谈.NET技术,在VS2010项目中引用Lib静态库(以Openssl为例)

2011-09-01 23:58 by 狼人:-), 524 阅读, 收藏,
摘要: Openssl是个为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。 首先下载Openssl包:(http://www.openssl.org/),这是一个C语言类库包,在Windows下可以通过Perl对该类库包进行MakeBuild,产生libeay32、ssleay32的Lib以及Dll文件,具体操作详见:http://blogger.org.cn/blog/more.asp?name=OpenSSL&id=18972,通过编译产生这样一系列文件: inc32里面放置C... 阅读全文

一起谈.NET技术,Dojo Data Store——统一数据访问接口

2011-09-01 23:58 by 狼人:-), 152 阅读, 收藏,
摘要: 无论在传统的桌面应用还是在主流的互联网应用中,数据始终占据着软件应用中的核心地位。当下,web2.0已经是一个让人们耳熟能详的词汇,而由此带来的数据的开放与共享,引领我们走入了海量数据时代。在今天的互联网上,数据的交互几乎成为了我们的终极诉求,可随之而来的数据多样性,信息的分布式存储及松耦合,以及数据量的几何级规模的膨胀也带来了数据组织上的难度的增大,与此同时,伴随着Ajax, RIA及面向服务的网络应用的发展,其所要求的客户端数据处理逻辑的复杂性不断增加,使得开发难度不断加大。 出于简化数据处理逻辑,增加应用的可维护及可扩展性的需求,目前流行的JavaScript框架也基本都会具有各... 阅读全文

一起谈.NET技术,用NuGet掌管你的Visual Studio扩展

2011-09-01 23:58 by 狼人:-), 198 阅读, 收藏,
摘要: 如果你使用Visual Studio 2010,那么 NuGet 可以使你的生活更加美好。当你项目里要引用到的一些库时候,比如JQuery 库或者 NHibernate, NUnit, log4net 你就可以考虑使用NuGet。它可以辅助你安装或者更新这些库。 当然我不得不继续说下去从安装到使用: NuGet是一个Visual Studio 的扩展, 首先你必须要安装它: 可以到官方网站: http://nuget.org/ 然后设置自动检查更新 进入 工具|选项,然后环境|扩展管理器 ,点击 自动检查更新,安装的扩展。 当你有一个Visual Studio扩展... 阅读全文

一起谈.NET技术,C#中的语言特性都是从何而来?

2011-09-01 23:58 by 狼人:-), 223 阅读, 收藏,
摘要: 前几天推荐一个同事用“可选参数”,推荐完了我还画蛇添足的说这是.Net 4中的新特性。但是事后才发现这个新特性是C# 4.0的语言特性,与.Net 4无关。其实也不只这一次,我平时也经常把语言、框架、运行时,有时甚至还有开发工具混为一谈。于是今天就总结一下C#中我感兴趣的几个语言特性是从何而来的。 1.可选参数 可选参数是C# 4.0中的新特性,其作用在于在调用者不提供参数值时给参数一个默认值,用起来是这样的: static void Main(string[] args){ TestMethod(); TestMethod(10); Console.Read... 阅读全文

一起谈.NET技术,JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯

2011-09-01 23:57 by 狼人:-), 277 阅读, 收藏,
摘要: 分布式开发的历史 利用Remote方式调用远程对象实现服务器与客户端之间通讯是一种常用的网络开发方式,在.NET与JAVA开发当中,对Remote远程对象早已有着足够的支持(对Remote远程对象调用有兴趣的朋友欢迎参考一下利用远程对象实现分布式开发)。 从2003年开始.NET当中就盛传着.NET Remoting远程对象调用的分布式开发,.NET Remoting主要用于管理跨应用程序域的同步和异步RPC 会话。在默认情况下,Remoting可以使用 HTTP 或 TCP 协议进行信息通讯,并使用 XML 编码的 SOAP 或二进制消息格式进行数据交换。.NET Remot... 阅读全文

一起谈.NET技术,JAVA与.NET的相互调用——通过Web服务实现相互调用

2011-09-01 23:57 by 狼人:-), 217 阅读, 收藏,
摘要: JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有很多相似的地方。而在很多大型的开发项目里面,往往需要使用两种语言进行集成开发。而很多的开发人员都会偏向于其中一种语言,在使用集成开发的时候对另一种语言感觉到畏惧。在这里在下向各位介绍一下,JAVA与.NET相互调用的例子。下面的介绍主要包括三方面:一是通过常用Web服务进行相互调用,二是使用TCP/IP套接字进行相互调用,三是使用Remote实现远程对象相互调用。 在这章里面先为大家介绍一下最简单,最常用的Web服务相互调用方式。首先说一下Web服务的来源,Web服务是一种新的Web应用程序分支,可以执行从简单的请求到复杂商... 阅读全文

一起谈.NET技术,《Effective C#中文版:改善C#程序的50种方法》读书笔记

2011-09-01 23:57 by 狼人:-), 133 阅读, 收藏,
摘要: 从去年找工作以来,都没什么时间写博客[找工作的体会:建议以后有自己开公司的IT人一定要找IT专业人员做HR,好多公司的HR并不能真正发掘人才,他们形成了太多的偏见,如在学校期间学不了什么东西、只看学校有多少奖励等。真正钻研技术的人才不会追求虚无的东西],其实这本书我都借了好久,一直没有系统的看,所以趁这两天好好看看,顺便总结了一些要点,给那些需要这方面知识而又没有太多时间的IT人一个快速的学习机会。。。。如果要深入学习,请购买该书。 一、用属性代替可访问的字段 1、.NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处; 2、在属性的get和set访问器重可使用l... 阅读全文

一起谈.NET技术,VS2010自定义新建文件模版

2011-09-01 23:57 by 狼人:-), 162 阅读, 收藏,
摘要: 不知不觉VS2010已经成为.NET开发人员的必备工具,相比经典版VS2005,到过渡版VS2008,2010在性能稳定性和易用性上都得到很大的提高。 结合VS工具,其下的插件也层出不穷。今天重点给大家介绍如何使用VS2010VS2010自定义新建文件模版,新建文件时,添加个人信息,如:创建者,创建时间等个性化信息。 这样对于具有规定机器的开发人员,对于新建的文件就会自动添加版本,添加人,添加时间等信息。 具体操作如下: 1、打开VS2010安装目录,如:I:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\It... 阅读全文

一起谈.NET技术,C#中字符串的内存分配与驻留池

2011-09-01 23:57 by 狼人:-), 248 阅读, 收藏,
摘要: 刚开始学习C#的时候,就听说CLR对于String类有一种特别的内存管理机制:有时候,明明声明了两个String类的对象,但是他们偏偏却指向同一个实例。如下: String s1 = "Hello";String s2 = "Hello"; //s2和s1的实际值都是Hellobool same = (object) s1 == (object) s2;//这里比较s1、s2是否引用了同一个对象实例//所以不能写作bool same = s1 == s2; //因为String类重载了==操作符来比较String对象包含的实际值 这里的s... 阅读全文

一起谈.NET技术,ASP.NET MVC 3和Razor中的@helper 语法

2011-09-01 23:57 by 狼人:-), 182 阅读, 收藏,
摘要: ASP.NET MVC 3支持一项名为“Razor”的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外)。当编写一个视图模板时,Razor将所需的字符和击键数减少到最小,并保证一个快速、通畅的编码工作流。 与大部分模板的语法不同,在Razor的帮助下,您不需要中断代码编写,仅仅为了在HTML中标注服务器端代码块的开始和结束。代码分析器足够聪明,它能够从你的代码里推断出是否为服务器端代码。这种更加简洁、富有表现力的语法更加干净,输入也更快速,有趣。 今天的博文涵盖了Razor的一项很多人都不知道的功能——利用@helper语法定义可重用的帮助器方法。 简单的 @hel... 阅读全文

一起谈.NET技术,理解.NET程序集的执行过程

2011-09-01 23:57 by 狼人:-), 157 阅读, 收藏,
摘要: 对于一个已编译好的.NET程序集,Windows操作系统是如何启动执行的呢?日常使用中我们发现对于托管的和非托管的程序集编译器都会吧程序集编译成以.exe或.dll等为扩展名的文件,可见Windows加载器并没有区分是托管还是非托管的程序集,而且我们也知道对非托管的程序集是在编译器直接编译成了机器码,自然可以由CPU直接执行,而托管的.NET 程序集是包含复杂结构的MSIL代码,执行时会使用JIT即时编译器将IL代码编译成机器码,再由CPU执行,当然这期间还需要执行其它许多的工作,如加载CLR、执行初始化等工作,那么这些是怎么自动实现的呢? 理解这些问题是我们深入.NET的关键,由于... 阅读全文

一起谈.NET技术,Visual Studio 2010 中的代码约定设置

2011-09-01 23:57 by 狼人:-), 163 阅读, 收藏,
摘要: 软件约定称为代码约定,通过这一约定可以表示代码正常工作所需的正式条件。 如果方法未按预期收到数据或生成的数据不符合预期的后置条件,代码约定将导致代码引发异常。 有关前置条件和后置条件的概述,您可能需要查看我上个月发表的文章 (msdn.microsoft.com/magazine/gg983479)。 代码约定是 .NET Framework 4 的一部分,但同样依赖于 Visual Studio 2010 中的一些功能,例如运行时工具、与 MSBuild 集成以及“项目属性”框中的属性页。 值得注意的是,仅编写... 阅读全文

一起谈.NET技术,JAVA与.NET的相互调用——TCP/IP相互调用基本架构

2011-09-01 23:57 by 狼人:-), 182 阅读, 收藏,
摘要: TCP/IP套接字的概念 TCP/IP(传输控制协议/网际协议)是网络互连的通信协议,通过它可以实现各种异构网络或异种机之间的互联通信。TCP/IP是Transmission Control Protocol/Internet Protocol的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。TCP/IP是一个四层的分层体系结构。高层为传输控制协... 阅读全文

一起谈.NET技术,用C#实现HTTP协议下的多线程文件传输

2011-09-01 23:57 by 狼人:-), 206 阅读, 收藏,
摘要: 很多人都有过使用网络蚂蚁或网络快车软件下载互联网文件的经历,这些软件的使用可以大大加速互联网上文件的传输速度,减少文件传输的时间。这些软件为什么有如此大的魔力呢?其主要原因是这些软件都采用了多线程下载和断点续传技术。如果我们自己来编写一个类似这样的程序,也能够快速的在互联网上下载文件,那一定是非常愉快的事情。下面我就讲一讲如何利用C#语言编写一个支持多线程下载文件的程序,你会看到利用C#语言编写网络应程序是多么的容易,从中也能体会到C#语言中强大的网络功能。 首先介绍一下HTTP协议,HTTP亦即Hpyer Text Transfer Protocal的缩写,它是现代互联网上最重要的一... 阅读全文

一起谈.NET技术,C# 中奇妙的函数--联接序列的五种简单方法

2011-09-01 23:57 by 狼人:-), 159 阅读, 收藏,
摘要: 今天我们来看看5种使用Linq函数联接序列的方法,这5种方法可以归入下列两类: 同类的联接 Concat() Union() 不同类的联接 Zip() Join() GroupJoin() Concat() – 串联序列 最简单的序列合并,concat仅仅是将第二个序列接在第一个序列后面, 注意:返回的序列并没有改变原来元素的顺序: 1. var healthFoods = new List<string> { "fruits", "vegetables", "grains", "proteins" } 阅读全文

一起谈.NET技术,.NET简谈观察者模式

2011-09-01 23:57 by 狼人:-), 143 阅读, 收藏,
摘要: 观察者模式想必搞程序开发的都听说过,今天我也来简单的总结一下本人在程序开发过程中是怎么使用观察者模式的;希望给大家带来点新的想法,如果哪位高手看到了也不要嘲笑啊;呵呵,追求技术的人,始终都是为了技术而学技术,目的只有一个,一起追求技术的最高境界。 观察者模式是设计模式里经常被用到的一种,什么叫观察者模式,字面理解就是一个或多个对象观察某个对象,这种观察是有目的的,当被观察者发生某种事件时,能准确的反馈到外界,通知大家你发生了什么;尤其是在今天面向对象编程的不断成熟,什么都讲究抽象,将重复劳动省到最少,方法成员都以类为容器封装;这是一种好的编程规则,就好比我们所生存的大自然坏境一样,汽车... 阅读全文

一起谈.NET技术,Log4Net 全方位跟踪程序运行

2011-09-01 23:57 by 狼人:-), 175 阅读, 收藏,
摘要: 前端日子自己写了一个简单的日志跟踪程序,现在目前正在做的一个项目中使用以便于跟踪程序异常和运行状况,但是被否认了!可能是没有权威性,于是自己总结了一下Log4net日志跟踪系统,这里分享大家学习一下。当然写这个文章的人太多了,这里不是做任何攀比,只是简单的分享供有需要的人。 一. Log4Net 简介 Log4net是 Apache 下一个开放源码的项目,它是Log4j 的一个克隆版。我们可以控制日志信息的输出目的地。Log4net中定义了多种日志信息输出模式。 在做项目的时候令我最头疼的是在程序发布到正式环境之后出现了问题,我们不能调试而且问题很难重新,于是我们需要大量... 阅读全文
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 56 下一页