代码改变世界

一起谈.NET技术,使用LINQ to SQL更新数据库(上):问题重重

2011-08-29 19:31 by 狼人:-), 377 阅读, 0 推荐, 收藏,
摘要:在学习LINQ时,我几乎被一个困难所击倒,这就是你从标题中看到的更新数据库的操作。下面我就一步步带你走入这泥潭,请准备好砖头和口水,Follow me。 从最简单的情况入手 我们以Northwind数据库为例,当需要修改一个产品的ProductName时,可以在客户端直接写下这样的代码: // List 0NorthwindDataContext db = new NorthwindDataContext(); Product product = db.Products.Single(p => p.ProductID == 1); product.ProductName = " 阅读全文

一起谈.NET技术,数组排序方法的性能比较(中):Array.Sort<T> 实现分析

2011-08-29 19:31 by 狼人:-), 351 阅读, 0 推荐, 收藏,
摘要:昨天我们比较了Array.Sort方法与LINQ排序的性能,知道了LINQ排序的性能以较大幅度落后于Array.Sort方法。而对于Array.Sort来说,性能最高的是其中使用Comparer.Default作为比较器的重载方法。在前文的末尾我们做出了推测:由于排序算法已经近乎一个标准了(快速排序),因此从算法角度来说,Array.Sort方法和LINQ排序上不应该有那么大的差距,因此造成两者性能差异的原因,应该是具体实现方式上的问题。 下载.NET框架的代码 既然是比较实现的区别,那么阅读代码是很直接的选择。谈到阅读.NET代码,我们往往会使用.NET Reflector将框架... 阅读全文

一起谈.NET技术,20条.NET编码习惯

2011-08-29 19:31 by 狼人:-), 137 阅读, 0 推荐, 收藏,
摘要:1、不要硬编string/ numeric,可以使用一些常量代替。 (提高可读性) Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->intCount;Count=100;privatestaticconstintZERO=0;if(Count==ZERO){//执行一些操作} 2、对于字符串比较-使用String. Empty ,而不是""。 3、不要声明成员变量为public 或者proteted,尽量使用private 阅读全文

一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《多定向支持》篇

2011-08-29 19:31 by 狼人:-), 272 阅读, 0 推荐, 收藏,
摘要:本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文

一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇

2011-08-29 19:31 by 狼人:-), 213 阅读, 0 推荐, 收藏,
摘要:本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文

一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《起始项目模板》篇

2011-08-29 19:31 by 狼人:-), 205 阅读, 0 推荐, 收藏,
摘要:本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文

一起谈.NET技术,40条ASP.NET开发Tip

2011-08-29 19:31 by 狼人:-), 250 阅读, 0 推荐, 收藏,
摘要:1、在compilation 下,请设置debug=false ,如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->defaultLanguage="c#"debug="false"> 2、请使用Server.Transfer代替Response.Redirect。 3、使用Validator控件,请要经常检查Page.IsValid。 4、请使用foreach循环,而不是为字符串迭代循环。 阅读全文

一起谈.NET技术,网络硬盘开发技巧之ASP.NET+XML

2011-08-29 19:30 by 狼人:-), 330 阅读, 0 推荐, 收藏,
摘要:文件传送常用的三种方式FTP、Email及“网上邻居”都在一定程度上实现了文件数据的交流,但它们都主要面向“点对点”的传送,无法实现“一块空间,资源互见”的应用需求,这种基于“点对多”的共享模式需要寻求另外的传输途径,网络硬盘就是一种很好的解决方式。常用传输方式及其在特定环境下面临的困难我们经常有这样的应用需求:通过网络交换公共数据文件以实现资源共享,同时保护私有数据不被非法访问,并使用简单、直观的方式操作。 英国Ewedrive提供1GB的免费存储空间,比较好的是它不限制单个文件大小。 我们常用的文件传输FTP、Email邮件、网上邻居都能实现文件的传送。其中,"Ftp" 阅读全文

一起谈.NET技术,深入ASP.NET 2.0的提供者模型(2)

2011-08-29 19:30 by 狼人:-), 229 阅读, 0 推荐, 收藏,
摘要:WebForums.NET提供者模型-一个早期的原型 相对于微软建议使用的提供者模型,Andy的提供者模型含有一些不足。一方面,WebForums.NET中提供了单个抽象基类,所有的API定义都聚集在这个类中。其负面作用在于,如果一个客户仅想定制系统的一小部分,例如用户信息的存储方式,那么他必须提供该系统中所有方法的实现。一种更好的方案是,为系统中的每一个逻辑实体创建一个抽象基类。例如,对于一个在线消息板应用程序来说,它可能需要一些类,如UsersProvider,ForumsProvider,PostsProvider,等等。然而,在你提供给一个客户的提供者数目之间也存在一个平衡问题。更.. 阅读全文

一起谈.NET技术,将Flash 嵌入WPF 程序

2011-08-29 19:30 by 狼人:-), 294 阅读, 0 推荐, 收藏,
摘要:由于WPF 本身中不支持COM 组件同时也无法加载ActiveX 控件,所以需要借助WinForm 引用ActiveX 控件将Flash 加入其中。首先创建一个WPF 项目(WpfFlash),将Flash 文件(.swf)加入到项目中,并将Copy to Output Directory 设置为"Copy always"。 在工程中新增一个Windows Forms Control Library 项目(FlashControlLibrary),利用该控件库加载Flash ActiveX。 在FlashControlLibrary 项目工具栏(Toolbox)中点击鼠标右 阅读全文

一起谈.NET技术,使用View Model从表现层分离领域模型

2011-08-29 19:30 by 狼人:-), 361 阅读, 0 推荐, 收藏,
摘要:MVC架构模式是近年来编程世界里最长被提及的模式之一,Model-View-Controller(模型-视图-控制器,MVC) 模式将你的软件组织并分解成三个截然不同的角色: Model 封装了你的应用数据、应用流程和业务逻辑。 View 从 Model 获取数据并格式化数据以进行显示。 Controller 控制程序流程,接收输入,并把它们传递给 Model 和 View。 与其它设计模式不同,MVC 模式并没有直接反映一个你能够编写或配置的类结构。相反,MVC 更像一个概念上的指导原则或范型。概念上的 MVC 模式被描述为三个对象 —— Model、View 和 Con... 阅读全文

一起谈.NET技术,ASP.NET缓存分析和实践浅析

2011-08-29 19:30 by 狼人:-), 180 阅读, 0 推荐, 收藏,
摘要:说到ASP.NET缓存,那就是:尽早缓存;经常接触缓存的您应该在应用程序的每一层都实现缓存。向数据层、业务逻辑层、UI或输出层添加缓存支持。内存现在非常便宜—因此,通过以智能的方式在整个应用程序中实现缓存,可以获得很大的性能提高。缓存可以掩盖许多过失缓存是一种无需大量时间和分析就可以获得“足够良好的”性能的方法。 这里再次强调,内存现在非常便宜,因此,如果您能通过将输出缓存30秒,而不是花上一整天甚至一周的时间尝试优化代码或数据库就可以获得所需的性能,您肯定会选择缓存解决方案(假设可以接受30秒的旧数据)。缓存正是那些利用20%付出获得80%回报的特性之一,因此,要提高性能,应该首先想... 阅读全文

一起谈.NET技术,从.NET中委托写法的演变谈开去(上):委托与匿名方法

2011-08-29 19:30 by 狼人:-), 193 阅读, 0 推荐, 收藏,
摘要:在《关于最近面试的一点感想》一文中,Michael同学谈到他在面试时询问对方“delegate在.net framework1.1,2.0,3.5各可以怎么写”这个问题。于是乎,有朋友回复道“请问楼主,茴香豆的茴有几种写法”,“当代孔乙己”,独乐,众乐。看了所有的评论,除了某些朋友认为“的确不该不知道这个问题”之外,似乎没有什么人在明确支持楼主。 不过我支持,为什么?因为我也提过出这样的问题。 这样,我们暂且不提应聘“高级开发人员”的人,在“自称熟悉各版本.NET框架”的前提下,是否应该知道这个答案。我们也暂且不提Michael同学提问的“目的”是什么。老赵就先单独针对这个问题进行解释,然后谈 阅读全文

一起谈.NET技术,现有ASP.NET MVC框架应用巧妙移植到手机

2011-08-29 19:30 by 狼人:-), 478 阅读, 0 推荐, 收藏,
摘要:客户对产品质量非常满意,因此在项目完成后又给我们另外一个订单,即部署客户程序到Windows智能手机设备上。但是我们项目团队成员以前都没有这种开发经验。我们的计划是通过最小限度的修改现有程序代码,使其可以运行在Windo智能手机上。 移动设备Web应用工具箱(WebApplicationToolkitforMobileDevices) 我们选择了微软移动设备Web应用开发工具箱作为解决方案。使用这个免费的工具,可以轻松将基于MVC框架的Web应用扩展到移动设备上。 下载地址: http://code.msdn.microsoft.com/WebAppToolkitMobile/Rel... 阅读全文

一起谈.NET技术,从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势

2011-08-29 19:30 by 狼人:-), 182 阅读, 0 推荐, 收藏,
摘要:在上一篇文章中我们简单探讨了.NET 1.x和.NET 2.0中委托表现形式的变化,以及.NET 2.0中匿名方法的优势、目的及注意事项。那么现在我们来谈一下.NET 3.5(C# 3.0)中,委托的表现形式又演变成了什么样子,还有什么特点和作用。 .NET 3.5中委托的写法(Lambda表达式) Lambda表达式在C#中的写法是“arg-list => expr-body”,“=>”符号左边为表达式的参数列表,右边则是表达式体(body)。参数列表可以包含0到多个参数,参数之间使用逗号分割。例如,以下便是一个使用Lambda表达式定义了委托的示例1: Func<int, 阅读全文
上一页 1 ··· 250 251 252 253 254 255 256 257 258 ··· 312 下一页