代码改变世界

一起谈.NET技术,.Net线程问题解答

2011-08-29 19:30 by 狼人:-), 228 阅读, 0 推荐, 收藏,
摘要:基础篇 怎样创建一个线程 受托管的线程与 Windows线程 前台线程与后台线程 名为BeginXXX和EndXXX的方法是做什么用的 异步和多线程有什么关联 WinForm多线程编程篇 我的多线程WinForm程序老是抛出InvalidOperationException ,怎么解决? Invoke,BeginInvoke干什么用的,内部是怎么实现的 每个线程都有消息队列吗? 为什么Winform不允许跨线程修改UI线程控件的值 有没有什么办法可以简化WinForm多线程的开发 线程池 线程... 阅读全文

一起谈.NET技术,WPF 基础到企业应用系列3——WPF开发漫谈

2011-08-29 19:30 by 狼人:-), 203 阅读, 0 推荐, 收藏,
摘要:1.开篇前言 首先很高兴这个系列能得到大家的关注和支持,基于对大家负责和对自己负责的态度,我会不断努力写好这个系列,分享自己的微薄技术和经验,希望在帮助别人的同时也不断提升自己。由于这篇文章稍多,所以读者花的时间长了一些,也希望大家能够见谅,这个系列以后会每周发三到四篇左右(主要是写一篇差不多要花几晚上,感觉思维比较发散),除了讲WPF技术本身之外,也会讲一些项目具体开发,所以敬请关注。在前两次的文章中我们对WPF有了一个比较全面的认识,那么在本篇文章当中,除了讲一些理论知识外,我们会从实际的开发中进行讲解,用理论和代码的形式来诠释WPF的简单开发过程。 2.本文提纲 · 1.开篇前 阅读全文

一起谈.NET技术,可选参数在.NET中全面开花

2011-08-29 19:30 by 狼人:-), 206 阅读, 0 推荐, 收藏,
摘要:.NET一直都支持可选参数,但是C#语言却并不支持,除了调用COM库以外,可选参数通常是被禁止使用的。现在,随着C# 4对可选参数的支持,我们可以看到可选参数被越来越多的使用,而不仅仅限于遗留代码中。这些应用包括与动态语言的互操作、只读数据类型,以及ASP.NET MVC中的许多地方。 显然,COM仍然是可选参数的主要用武之地。例如,当你使用Office库时,某个函数可能会有超过20个参数,手动指定每一个参数是非常不方便的。如果再没有辅助的标记,你就只能通过数参数的个数来确定哪个值对应的是哪个参数了,这非常容易出错。对于不熟悉COM的人,你可以想象一下从前主流语言不支持函数重载时的情景... 阅读全文

一起谈.NET技术,.net其实也可以不拖控件的......

2011-08-29 19:30 by 狼人:-), 172 阅读, 0 推荐, 收藏,
摘要:随着时代的进步,说.net就是拖拖控件的人越来越少了,作为一个抱有"就是喜欢拖控件"想法的人,我还是不得不研究一下完全没有IDE的情况下怎么生存。 国内的大部分无知而浅薄的".net程序员",完全是被横行的盗版IDE惯坏了。VS的确提供了一条生成和组织程序的捷径,但是它并没有把正路堵死。 这里我就来说说如何像编写linux程序那样编写.net程序 俗话说巧妇难为无米之炊,即使我们想要像Linux程序员那样写程序,首先我们还是要下载一套最新版SDK 最新版 Microsoft Windows SDK for Windows 7 and .NET Frame 阅读全文

一起谈.NET技术,VS2010技巧:如何在js文件中使用jQuery智能感知

2011-08-29 19:30 by 狼人:-), 159 阅读, 0 推荐, 收藏,
摘要:在VS2010中,先打开相应的js文件,然后将Scripts目录中jQuery文件拖动到该js文件中。 阅读全文

一起谈.NET技术,重温数据库访问——故事篇

2011-08-29 19:30 by 狼人:-), 140 阅读, 0 推荐, 收藏,
摘要:本文想借用故事的方式来说一下ADO.net的工作方式。虽然现在都ORM了,但是了解一下ADO.net还是有必要的。 在茫茫的大海上有许多的岛,其中一个岛的名字叫做“应用程序岛”。这座岛上商业非常发达,高楼大厦、店铺林立。但是岛的面积不够大,没有地方建立仓库。所以市长决定,把临近的一座小岛开发出来,专门作为数据仓库来使用,这座岛的名字就叫“数据库岛”。 市长在数据库岛上面建立了一个MSSQL数据库,这样各个商场、超市就可以把自己的货物放进去了。两个岛相邻很近,为了便于运输,所以直接在两个岛之间建立了五座大桥。并且成了一个“数据访问池”的部门来专门管理这五座桥。 有一个叫comma... 阅读全文

一起谈.NET技术,Visual Studio 2010 Web项目的jQuery版本升级方案

2011-08-29 19:30 by 狼人:-), 323 阅读, 0 推荐, 收藏,
摘要:我们知道在Visual Studio 2010的非空Web项目(含Webform和MVC)中,都自动包含了jQuery库在项目的Scripts文件夹中。 但细心的人们都看到了正式版中包含的jQuery版本是1.4.1版,而不是jQuery官方最新发布的1.4.2版。处于新版效率的极大提升以及部分bug的修复,推荐大家跟新使用1.4.2版,而放弃1.4.1版。单个项目的调整比较简单就是把旧版本的删除,然后添加上1.4.2版的相应文件即可。但我们很多人可能更希望是以后创建的项目都是1.4.2版而不是1.4.1版,怎么办呢?我在相关的webcast中有提到过,即到vs2010的安装目录中修改项目.. 阅读全文

一起谈.NET技术,Application、Session、Cookie、ViewState、Cache、Hidden的区别

2011-08-29 19:30 by 狼人:-), 160 阅读, 0 推荐, 收藏,
摘要:方法 信息量大小 作用域和保存时间 应用范围 保存位置 Application 任意大小 整个应用程序的生命期 整个应用程序/所有用户 服务器端 Cache 任意大小 可以根据需要设定 整个应用程序/所有用户 服务器端 Session 小量,简单的数据 用户活动时间+一段延迟时间(一般为20分钟) 单个用户 服务器端 Cookie 小量,简单的数据 可以根据需要设定 单个用户 客户端 Viewstate 小量,简单的数据 一个Web页面的生命期 单个用户 ... 阅读全文

一起谈.NET技术,使用Brahma在GPU上执行LINQ

2011-08-29 19:30 by 狼人:-), 230 阅读, 0 推荐, 收藏,
摘要:Brahma是一个用于并行计算的开源库,它由C#编写并支持在多种处理器上运行。目前,Brahma仅包含一个图形处理器(GPU)模块,但是它的模块化结构可以支持更多种类的处理器。使用Brahma,同一个C#方法中的语句可以同时运行在CPU和GPU上,而不需要额外的代码。 Brahma通过将LINQ语句转换成目标处理器代码来执行并行计算,所生成的代码会跟据目标处理器的不同而不同。例如针对DirectX会生成High Level Shading Language,而针对OpenGL则会生成OpenGL Shading Language。为了提高性能,LINQ查询仅被编译一次,然后根据需要多次运行 . 阅读全文

一起谈.NET技术,使命必达:深入剖析WCF的可靠会话

2011-08-29 19:30 by 狼人:-), 187 阅读, 0 推荐, 收藏,
摘要:作为一个通信基础平台,WCF必须保证通信的可靠性。由于消息交换是WCF采用的通信手段,通信可靠性的保障体现在确保消息的可靠传输。WCF本质上是一个消息处理框架,作为整个消息交换系统的两个终端,即发送端和接收端。换句话说,WCF仅仅负责对消息的发送和接收,一旦消息通过WCF的信道层进入了网络,就脱离了WCF的控制范围。但是,由于网络环境的限制,网络层不能百分之百地确保对消息的有效交付。如何克服中间环节的制约,确保从一端发送的消息能够被有效地交付给另一端,这就是可靠消息传输(Reliable Messaging)需要解决的问题。WCF通过可靠会话(Reliable Sessions)实现了种种.. 阅读全文

一起谈.NET技术,HTTP协议及POST与GET操作差异,C#中如何使用POST、GET等

2011-08-29 19:30 by 狼人:-), 297 阅读, 0 推荐, 收藏,
摘要:引言 HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来。但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态有哪些?以及在C#中你如何使用?如果你不能清楚地回答其中的大部分问题,那么这篇文章就是为你准备的!大纲如下: 1、HTTP概述 1.1、HTTP协议的客户端与服务器的交互 1.2、HTTP消息 1.3、HTTP请求的方法 1.4、HTTP响应的代码 2、抓包分析 3、POST与GET的差异 4、以一个实例说明C#中如何使用POST、GET等操作 4.1、HttpWebRequest 4... 阅读全文

一起谈.NET技术,.NET中通过代理实现面向方面编程(AOP)

2011-08-29 19:30 by 狼人:-), 311 阅读, 0 推荐, 收藏,
摘要:上篇文章我说到了在代码中可以利用泛型委托来封装异常处理,这样可以让程序看起来更加清晰,要想完成功能需要调用者调用指定的工厂方法才行,但要想改变某些程序员的编码习惯我想是一件比较困难的事情。有朋友说利用委托来实现异常处理并不算是真正意义上的AOP,因为传统的AOP并不需要客户端做代码结构的变更,最多也就是配置上的问题。但在.net中要想实现AOP,我想最方便的实现机制要属代理机制了,但只要利用代理,在性能上就会造成一定的影响。 如果开发过分布式服务,像remotion,wcf等,消息都是它们通信的重要手段。客户端通过方法调用形式体现的服务访问需要转换成具体的消息,然后经过编码才能利用传输... 阅读全文

一起谈.NET技术,敏捷开发的26条至理名言

2011-08-29 19:30 by 狼人:-), 172 阅读, 0 推荐, 收藏,
摘要:我经常收集各种各样的至理名言,最近我重温敏捷开发;真正的问题是什么?下面是一份26条关键原则的清单,以指引敏捷软件开发团队。 1、完整地干完一件事后在开始另一件事:用厨房比喻来说就是:“先上这道菜,再开始做下一道”。软件开发的最大问题就是同时开始几件事情,这将不可避免的造成某些工作被废弃,从而造成浪费。专注于一件事;完整地实现其功能;运行测试;编写文档;签入所有,把这当做一项工作完成,然后再开始下一件事。 2、不要破坏构建:非常明显,但必须被包含在任何软件开发建议清单中。程序员在签入之前采取所有合适的预防措施进行测试,则永远不会破坏构建。如果构建被破坏,通常是因为有人偷懒了。 ... 阅读全文

一起谈.NET技术,利用AOP重构代码

2011-08-29 19:30 by 狼人:-), 290 阅读, 0 推荐, 收藏,
摘要:AOP是什么? AOP是OOP的延续,Aspect Oriented Programming的缩写,即面向方面编程。AOP是GoF设计模式的延续,设计模式追求的是调用者和被调用者之间的解耦,AOP也是这种目标的一 种实现。 案例:在应用程序中,我们经常会对某一段程序做异常处理,或者是把一个方法的调用所消耗的时间体现在日志中,如果我们对每个方法都写具体的实现,我想并不是一件轻松的事情。对于异常处理来讲,其实我们平常编程很少去捕获具体的异常,当然特殊程序除外,例如客户端捕获WCF异常时最好捕获CommunicationException,TimeoutException,Excep... 阅读全文

一起谈.NET技术,你是个软件架构师吗?

2011-08-29 19:30 by 狼人:-), 276 阅读, 0 推荐, 收藏,
摘要:开发和架构的界限难以捉摸。有些人告诉你它根本不存在,架构只是开发者们所做的设计过程的简单扩展。 另外一些人认为这是一个鸿沟,它只能由那些做到高度抽象,而且不会陷入实现细节的开发者才能跨越。通常,在这两个极端的观点中间某处有个可操作的平衡点;不论如何,怎么从开发转换为架构师都是个有趣的问题。 经常被用来区分软件架构和软件设计开发的关键几点包括 伸缩性和抽象程度的增加以及作出正确设计决策意义的增强。软件架构是通过一个全局的观点,宏观的视角来理解软件系统作为一个整体如何工作。 即使这能够帮助区分软件开发和架构,它并不能帮助理解某人如何从开发提升到架构。 并且,它也不能帮助识别谁能够成为一... 阅读全文
上一页 1 ··· 253 254 255 256 257 258 259 260 261 ··· 312 下一页