摘要: 在讲C#参数传递之前,我们先简单讨论下 c#中值类型和引用类型的定义以及区别,有助于我们更好的理解参数传递。我们从内存的角度来简单讨论下值类型和引用类型的区别。我们都知道值类型存储在栈上,引用类型分别在栈和托管堆上。如下图:我们通过例子来看下 值类型和引用类型存储结构不同有哪些区别:定义一个类 (引用类型)View Code 1 public class Student2 {3 public int Age { get; set; }4 5 public void Say()6 {7 Console.WriteLi... 阅读全文
posted @ 2012-06-25 10:56 vito qi 阅读(2496) 评论(10) 推荐(10) 编辑
摘要: 在日常项目中,我们经常用到文件的上传下载功能,今天分享一个在ASP.NET中下载文件的例子,通过实现IHttpHandler 来实现下载。直接上代码:DownloadHandler.csView Code public class DownloadHandler:IHttpHandler { public bool IsReusable { get { return true; } } public void ProcessRequest(HttpContext context) { ... 阅读全文
posted @ 2012-06-12 09:51 vito qi 阅读(603) 评论(0) 推荐(2) 编辑
摘要: IP定位 已经不是什么新的技术,但是在做项目中却会常常用到。找网上找了许久,也做了许多的实验,觉得QQwry.dat,很很好用的,作者也提供了开发的源码和大家分享。 在这里感谢作者。我在项目中也用到了ip定位,写了代码,希望能给没有用过的朋友有所帮助。QQ 纯真IP 数据库 下载地址QQWry.dat直接上代码 : IPScanner.csView Code public class IPScanner { private byte[] data; Regex regex = new Regex(@"(((\d{1,2})|(1\d{2})|(2... 阅读全文
posted @ 2012-06-11 15:06 vito qi 阅读(4235) 评论(1) 推荐(1) 编辑
摘要: IIS7.0中的Web应用程序有两种配置模式:经典模式和集成模式。经典模式是为了与之前的版本兼容,使用ISAPI扩展来调用ASP.NET运行库,原先运行于IIS6.0下的Web应用程序迁移到IIS7.0中只要将应用程序配置成经典模式,代码基本不用修改就可以正常运行。集成模式是一种统一的请求处理管道,它将ASP.NET请求管道与IIS核心管道组合在一起,这种模式能够提供更好的性能,能够实现配置和管理的模块化,而且增加了使用托管代码模块扩展IIS时的灵活性。如果老的Web应用程序运行于IIS7.0的集成模式下,可能需要对应用程序的web.config文件进行修改,尤其是使用了实现IHttpHand 阅读全文
posted @ 2012-05-28 13:58 vito qi 阅读(3569) 评论(0) 推荐(1) 编辑
摘要: ASP.NET请求验证功能可以给我提供应用程序的安全保证,避免站点受到XSS的攻击。但是在一些情况下,我们需要禁用这个功能,比如我们需要使用HtmlEditor来让用户输入一些HTML文本,这时候ASP.NET 2.0允许我们可以通过在web.config设置validateRequest="false"。或者在MVC中,我们可以通过在Controller或者Action上设置[ValidateRequest(false)]这个特性来达到禁用的上的。但是在当你把站点从旧版本升级到ASP.NET 4.0后,你会发现,即使你这样做,仍然会提示你这样的一个异常“A potenti 阅读全文
posted @ 2012-05-28 13:35 vito qi 阅读(216) 评论(0) 推荐(1) 编辑
摘要: 今天分享设计模式中最简单的一种模式 简单工厂模式。先从面向对象说起,面向对象有三大特性:继承,封装,多态。所谓封装:在面向对象语言中,我们都是以类来组织代码,类中定义了属性和方法,我们在调用的时候只需要去使用对象的方法名或者属性名就可以了,而不必甚至不需要知道方法的具体实现,类比生活中的例子,榨汁机。我们只知道用它可以榨果汁,放个苹果给我们一杯苹果汁,放个桔子给我们一杯桔子汁就可以了。我们不必要去关心 榨汁机是怎么去工作的。所谓继承:就是子类继承了父类,父类所有的非私有的方法和属性,子类都可以拿来直接使用。就好比生活中,父亲给儿子留了一笔遗产。你可以直接使用这笔钱而不需要去创造这笔钱然后在去使 阅读全文
posted @ 2012-05-27 10:17 vito qi 阅读(2081) 评论(4) 推荐(5) 编辑
摘要: MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑。 View层用于与用户的交互。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。ASP.NET MVC 提倡以习惯取代配置,简单总结如下:1、控制器Controller 必须置于项目的Controller目录下 Controller类的名称必须以“Controller” 结尾,继承与Contr. 阅读全文
posted @ 2012-02-07 21:47 vito qi 阅读(316) 评论(0) 推荐(2) 编辑
摘要: 在日常工作中,经常要分离和附加数据库,sqlserver自带的分离和附加工具,每次使用都非常不方便,非常慢,写了个数据库分离附加工具,以下是部分核心代码:public class OperDBforSqlServer{//使用集成连接数据库private static string ConnectionString="workstation id=\""+Dns.GetHostName()+"\";integrated security=SSPI;data source=\"" +".\";persist 阅读全文
posted @ 2011-10-25 16:48 vito qi 阅读(2217) 评论(2) 推荐(3) 编辑
摘要: 1、纯粹给懒人用的关键字var 在C#3.0中新增加了一个关键字var,可以用来声明变量。 varage=26; varusername="zhuye"; varuserlist=new[]{"a","b","c"}; foreach(varuserinuserlist) Console.WriteLine(user); var关键字,告诉编译器(对于CLR来说,它是不会知道你是否使用了var,苦力是编译器出的),你自己推断它的类型吧,我不管了。但是既然让编译器推断类型就必须声明的时候赋值,而且不能是null值。注 阅读全文
posted @ 2011-10-19 16:47 vito qi 阅读(195) 评论(0) 推荐(1) 编辑
摘要: 学习内容:配置.net运行环境,c#中命名空间,c#.net 2005编码规范学习总结:1. 配置.net运行环境第一歩:安装.net framework第二歩:找到.net framework的安装目录下的csc.exe文件,这个文件为.net framework的编译器第三步:将csc.exe的安装目录放到系统环境变量中第四歩:在运行里打cmd命令,掉出dos窗口,在命令提示符下键入csc,系统显示.netframe work的相关信息第五歩:.net运行环境配置完成第六歩:编写**.cs文件,放在只定的目录下第7歩:在dos窗口下键入**.cs文件所在的目录,然后键入csc **.cs, 阅读全文
posted @ 2011-10-19 16:07 vito qi 阅读(766) 评论(0) 推荐(2) 编辑