个人对技术的追求:代码少而精捍;思路清晰美观;可扩展好维护;技术驱动商业; 人生格言:只要你有信念,有追求,并且坚持,那你一定比随波逐流,行得远行得正...
昨天做了一个自动生成Insert 语句的小工具,今天测试发现存在严重的内存泄漏问题,代码看了好几遍,没发现问题。后来用 .Net Memory Profiler 跟踪(跟踪方法见 用 .NET Memory Profiler 跟踪.net 应用内存使用情况--基本应用篇) 发现有数千个DataRow 没有释放,最后定位是DataTable.NewRow 的问题。
下面最先介绍HttpRuntime的Web.config里的配置 通过上面的配置说明, 下面是在Web.Config里节点的设置
废话 我本来以为委托很简单,本来只想简简单单的说说委托背后的东西,委托的使用方法。原本只想解释一下那句:委托是面向对象的、类型安全的函数指针。可没想到最后惹出一堆的事情来,越惹越多,罪过,罪过。本文后面一部分是我在一边用SOS探索一边记录的,写的非常糟糕,希望您的慧眼能发现一些有价值的东西,那我就感到无比的荣幸了。
最近小项目要求重写url找了下资料用到了MS的2个dll,微软的例子写得太不明显了。后来终于改好了。 ActionlessForm.dll------用来处理回发 URLRewriter.dll----- 是微软封装好了的一个URL重写组件 添加引用---- 具体的使用说明请去看 http://msdn.microsoft.com/zh-cn/library/ms972974.aspx#XSLTsection123121120120 比我说得好得多。
Socket开发是属于通信底层的开发,.NET也提供了非常丰富的类来实现Socket的开发工作,本篇不是介绍这些基础类的操作,而是从一个大的架构方面阐述Socket的快速开发工作,本篇以TCP模式进行程序的开发介绍,以期达到抛砖引玉的目的。
在上一篇博客中我提出了一个问题:如何用.NET的Reflection.Emit生成等价于下面VB代码的三个类型: Class AImplements B.IEnd ClassClass BInherits AInterface IEnd InterfaceEnd Class 这个问题的难点在于三个类型有循环依赖关系:A实现了接口B.I,因此A依赖于I;B是A的子类,因此B依赖于A;接口I是B的嵌套类型,因此I依赖于B。
众所周知,Reflection.Emit是非常强大的工具,可以在运行时动态生成各种程序集、类型和方法的IL代码,几乎无所不能。原先我也是这样认为的,但是看了某个人的博客之后我发现想要用Reflection.Emit做一些特殊的事情还是很需要技巧性的。
本系列文章导航 WCF版的PetShop之一:PetShop简介 WCF版的PetShop之二:模块中的层次划分 WCF版的PetShop之三:实现分布式的Membership和上下文传递 在《WCF技术剖析(卷1)》的最后一章,我写了一个简单基于WCF的Web应用程序,该程序模拟一个最简单的网上订购的场景,所以我将其命名为PetShop。
SQL注入攻击的本质:让客户端传递过去的字符串变成SQL语句,而且能够被执行。 每个程序员都必须肩负起防止SQL注入攻击的责任。 说起防止SQL注入攻击,感觉很郁闷,这么多年了大家一直在讨论,也一直在争论,可是到了现在似乎还是没有定论。
ASP.NET AJAX Control Toolkit是一组非常不错的基于asp.net的ajax控件,它建立在asp.net 3.0的ScriptManager组件之上,提供了很多非常实用的效果和功能。
星移斗转,时光似箭,不知不觉中,酒店管理系统的开发从开始到现在的结束,已经2个月了,2个月的业余时间,2个月的生活情趣,都寄托在这个软件当中,经历了各种艰苦和困惑,终于得以修成正果---深田之星酒店管理系统的顺利发布。
监视消息循环 在上一篇文章中,我们讨论了消息循环是响应用户输入的根本,还提到了在WinForm中执行耗时操作是因为这个耗时操作与消息循环在同一个UI Thread上,导致不能处理用户的后续响应,造成程序假死。
包含金额/日期输入框,带弹出数字面板的计算输入框,安全密码输入等控件(文章及相关代码搜集自网络,仅供参考学习,版权属于原作者! ). 1.CalculatorBox CalculatorBox.
在进入正文之前,想请大家先欣赏下面两段代码: 1: //这是一个控制台程序,请先添加System.Windows.Form.dll的引用 2: using System.Windows.
包含自定义颜色显示的CheckBox,水晶效果按钮,透明圆角Label,Vista效果的ProgressBar等控件(文章及相关代码搜集自网络,仅供参考学习,版权属于原作者! ). 1.自定义颜色显示的CheckBox coloredcheckcontrols.
假定我要用Silverlight类库实现一些通用控件,然后在应用程序中引用这个控件库。当然,控件通常也要访问其他一些第三方或开源的开发包,例如Silverlight Toolkit。 于是这个项目的依赖关系如下: Silverlight Application => Silverlight Control => Silverlight Toolkit。
一般情况下我只需要使用ArrayList.Contains()方法就可以判断某个元素是否存在,但如果ArrayList中的为自定义的类就需要自己实现,如下面例子: 如我们有一个类: public class Employee { public int EmployeeID { ...
介绍 缓存是在内存存储数据的一项技术,也是ASP.NET中提供的重要特性之一。例如你可以在复杂查询的时候缓存数据,这样后来的请求就不需要从数据库中取数据,而是直接从缓存中获取。通过使用缓存可以提高应用程序的性能。
《编程絮语》之一 C#的语法脱胎于C++,因而保留了virtual关键字,可以定义一个虚方法(或虚属性)。一个类的成员被定义为virtual,就意味着它在告诉自己的子类:我准备了一笔遗产,你可以全盘接受,也可以完全拒绝或者修改我的遗嘱。
Connection 物件 Connection 对象主要是开启程序和数据库之间的连结。没有利用连结对象将数据库打开,是无法从数据库中取得数据的。这个物件在ADO.NET 的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生。
Windows通信基础(Windows Communication Foundation,WCF)是基于Windows平台下开发和部署服务的软件开发包(Software Development Kit,SDK)。
类的静态构造函数也叫类型构造器,静态构造器,他调用的时刻由CLR来控制: CLR会选择如下时间之一来调用静态构造函数: 1,在类型的第一个实例创建之前,或类型的非继承字段或成员第一次访问之前。
我们都知道StringBuilder的性能要比string类,是否具体测试过呢,我这里就给出这个程序供测试,一个是Timing类,用来计算时间的。另外一个类就是分别建立string,和stringbuider 类建立100,1000,10000,100000字符连接进行比较。
引言 用WebClient下载远程资源时,经常会遇到类似这样的网址: http://www.uushare.com/filedownload?user=icesee&id=2205188 http://www.guaishow.com/u/luanfujie/g9675/ 我们不知道这个Url具体代表的是一个网页,还是某种类型的文件。
上一周我我在罗马进行了两场对于开发完成不久的http://www.dotnetromacesta.org/的Asp.net MVC的演讲。而其中一场演讲内容是关于我对于Asp.net MVC最佳实践的看法.因为这场演讲是在意大利进行的,为了大家能更好的阅读,我将演讲所用的ppt翻译成英文。
最近对数据库的设计有些想法,貌似一般数据都有些通用字段 public interface IData { /// /// 数据ID标识 /// decimal ID { get; set; } //...
买了自加热的榨汁机每天补充营养是件好事,但是为此早起一个小时却划不来。如果为了节省时间,早上用微波炉加热昨晚做好的豆汁,口感却不怎么好。怎么办?买定时加热的榨汁机,估计价钱会很高,不过市面上好像也没有带这种功能的。
通过Web Service混合.NET和Java技术往往很容易,但Web Service并 非是.NET和Java互操作的万灵丹。Web Service在集成独立的跨网络通信的组件时非常有用,在简单的调用/返回情景中,涉及的数据类型数量非常有限,且Web Service是基于标准的,混合.NET和Java技术通常显得很简单,因此有人认为Web Service是实现.NET和Java互操作的万能答案,但事实却并非如此。
C# get set函数很常用,但是用好还是需要很多经验的,下面的文章就是帮你积累C# get set函数经验的。 C# get set不提倡将域的保护级别设为 public而使用户在类外任意操作--那样太不OO,或者具体点说太不安全!对所有有必要在类外可见的域,C#推荐采用属性来表达。
看过很多单件模式的文章,书上有,网上更多一些。一般来说,只有如何实现单件模式,而没有介绍具体情况单件模式的使用,也没有介绍过单件模式会出现问题。单件模式似乎不会产生逻辑上的问题。但是,这仅仅是似乎。
在以前的文章使用WPF Resource以及Transform等技术实现鼠标控制图片缩放和移动的效果里面,介绍了如何在WPF里面移动和放大缩小图片,程序也支持使用滚轮的方式缩放图片。然而前面文章里介绍的缩放功能只能以图片中心为原点来实现,但是这种功能往往并不是客户想要的,我们看图片的时候,往往都喜欢以鼠标放在图片的焦点为原点进行图片的缩放。
1.单链表的定义和由来: 链表是用一组地址可能连续也可能不连续的存储单元来存储线性表中的数据元素,在存储数据元素时,除了要存储数据元素本身之外,还要存储与它相邻的数据元素的地址信息,这两部分组成了线性表中一个数据元素的映像,称之为"结点",存储数据元素本身的部分称之为:数据域,存储相邻数据元素地...
1.引言 要实现域名查询,首先要找到域名服务器。在这用的是万网的域名服务器。 网址为:http://panda.www.net.cn/cgi-bin/check.cgi?area_domain= whois:http://whois.
为了说明这个问题,假定我们需要实现一个具有特殊功能的按钮控件。编写Xaml文件如下: Button> 对 Code Behind类,唯一的改动是把向导生成的基类从UserControl改成Button: public partial class XamlButton : Button{ ...
相信如果看过一上篇你已经对vs.net dsl有了一定的了解,接下来我们就来开始我们的这个系列的入门,Vs.net Dsl在国内可能使用的人少之又少,不过希望这个系列能够使看到的人能够对dsl有一定的了解,使之能够成为产品方案选型时的一个参考,能够对阅读的人有所帮助.
本系列文章导航 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇 VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇 VS 2010 和 .
本系列文章导航 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇 VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇 VS 2010 和 .
什么是特定领域开发和DSL 特定领域开发是用来解决重复发生的问题的方法,针对每次发生的问题,通过进行总结和分析,他们之间相同的方面可以一次性的解决.而经常变化的方面,可以采用一种特殊的语言表达.针对这个特殊语言,我们可以建立模型或者表达式,然后插入到固定部分. 对于我们软件行业...
本系列文章导航 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇 VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇 VS 2010 和 .
最近一段时间一直在重看CLR via C# , 这次把字符串比较的函数总结下。 1.Compare和CompareTo大PK 首先是我们最常用的String.Compare和CompareTo实例方法,先来看看这两个方法: 我们通过这个可以直观地看到,String的静态方法要比CompareTo多出好多的方法重载,其实这也是两者的最大区别,也就是说String.Compare有着更多的功能选项供我们控制。
本系列文章导航 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇 VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇 VS 2010 和 .
本系列文章导航 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇 VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇 VS 2010 和 .
本系列文章导航 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇 VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇 VS 2010 和 .
本系列文章导航 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇 VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇 VS 2010 和 .
本人写的一个分页Helper,支持普通分页(也就是,首页、上一页、下一页、末页等),综合分页(普通分页和数字分页的综合)。下面是分页效果: 分页代码: PagerHelper.cs 代码 1 using System; 2 using System.
在前一篇文章中,我提出了在使用LINQ to SQL进行更新操作时可能会遇到的几种问题。其实这并不是我一个人遇到的问题,当我在互联网上寻找答案时,我发现很多人都对这个话题发表过类似文章。但另我无法满足的是,他们尽管提出了问题,却没有进行详细的剖析,只给出了解决方案(如添加RowVersion列、去除关联等),但却没有说明为什么必须这么做。
昨天我们比较了Array.Sort方法与LINQ排序的性能,知道了LINQ排序的性能以较大幅度落后于Array.Sort方法。而对于Array.Sort来说,性能最高的是其中使用Comparer.Default作为比较器的重载方法。
本系列文章导航 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇 VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇 VS 2010 和 .
1、不要硬编string/ numeric,可以使用一些常量代替。 (提高可读性) int Count;Count = 100;private static const int ZERO = 0;if( Count == ZERO ){// 执行一些操作} 2、对于字符串比较-使用String. Empty ,而不是""。
在学习LINQ时,我几乎被一个困难所击倒,这就是你从标题中看到的更新数据库的操作。下面我就一步步带你走入这泥潭,请准备好砖头和口水,Follow me。 从最简单的情况入手 我们以Northwind数据库为例,当需要修改一个产品的ProductName时,可以在客户端直接写下这样的代码: // Li...