摘要: 在实例化Thread的实例,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。不带参数的启动方式如果启动参数时无需其它额外的信息,可以使用ThreadStart来实例化Thread,如下面的代码:using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace StartThread { class Program { ... 阅读全文
posted @ 2009-08-03 09:30 周金桥 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 在本人拙作《ASP.NET夜话》第十二章中探讨过ASP.NET底层运行机制的问题,在该书中本人也讲到过了解一些ASP.NET的低层机制对于我们灵活控制ASP.NET有很大帮助,在该书中本人讲述过如何用自定义的IHttpHandler来实现防盗链功能,由于篇幅限制在该书中没有讲述自定自定义IHttpModule可以实现什么样的效果,在本篇将讲述利用自定义IHttpModule来实现URL地址重写。一般来说,要显示一些动态数据总是采用带参数的方式,比如制作一个UserInfo.aspx的动态页面用于显示系统的UserInfo这个用户信息表的数据,那么需要在其后带上一个参数来指定要显示的用户信息,比 阅读全文
posted @ 2009-07-14 09:36 周金桥 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 自从jQuery面世以来,它以其快速、简洁,能够很轻易地处理HTML文档、控制事件、给页面添加动画和Ajax效果等打动着所有关注它的人的心。本人是在某跨国企业的一次面试中得知找个库的,在面试当时对jQuery还是一无所知,后来在面试后查阅了大量的资料才逐步了解jQuery。在VS2008中也可以很方便地使用jQuery,不过需要安装SP补丁,这个补丁可以从微软官方网站下载,也可以在搜索引擎中以“VS2008SP1CHSX1512981.iso”为关键字来搜索这个补丁,这个补丁体积比较庞大,本人下载到的文件大小为898 MB (941,703,168 字节),并且在安装这个补丁时请确认系统分区必 阅读全文
posted @ 2009-06-23 09:19 周金桥 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 说明:WMI Code Creator是微软提供的一个WMI代码生成工具,这个工具是微软在2005年5月提供的,微软对这个软件提供的说明如下:This code is not supported under any Microsoft standard support program or service.This code is provided AS IS without warranty of any kind. Microsoft furtherdisclaims all implied warranties including, without limitation, any imp 阅读全文
posted @ 2009-06-16 09:28 周金桥 阅读(236) 评论(0) 推荐(0) 编辑
摘要: asp.net夜话教学视频说明本系列视频是笔者著作《asp.net夜话》的配套视频教程。《asp.net夜话》是根据在csdn论坛里经常问到的问题结合本人多年的网站开发经验而写,这本书着重讲述如何利用asp.net开发出高效率和高安全性的网站来。在本系列中讲述了asp.net的基本原理和基本控件的用法,并在此基础上加以适当拓展和延伸,使之更适合于指导实际开发。本系列文章的特色是详细讲述知识点的同时还会介绍如何在实际开发中应用,理论联系实际。注:最近跟出版社商量,最终随书发布的视频中会采用较高版本的软件,采用SQL Server2005+VS2008来录制,最终出版的书稿也是采用SQL Serv 阅读全文
posted @ 2009-05-19 11:28 周金桥 阅读(259) 评论(0) 推荐(0) 编辑
摘要: asp.net夜话教学视频说明本系列视频是笔者著作《asp.net夜话》的配套视频教程。《asp.net夜话》是根据在csdn论坛里经常问到的问题结合本人多年的网站开发经验而写,这本书着重讲述如何利用asp.net开发出高效率和高安全性的网站来。在本系列中讲述了asp.net的基本原理和基本控件的用法,并在此基础上加以适当拓展和延伸,使之更适合于指导实际开发。本系列文章的特色是详细讲述知识点的同时还会介绍如何在实际开发中应用,理论联系实际。注:最近跟出版社商量,最终随书发布的视频中会采用较高版本的软件,采用SQL Server2005+VS2008来录制,最终出版的书稿也是采用SQL Serv 阅读全文
posted @ 2009-05-15 14:59 周金桥 阅读(140) 评论(0) 推荐(0) 编辑
摘要: asp.net夜话教学视频说明本系列视频是笔者著作《asp.net夜话》的配套视频教程。《asp.net夜话》是根据在csdn论坛里经常问到的问题结合本人多年的网站开发经验而写,这本书着重讲述如何利用asp.net开发出高效率和高安全性的网站来。在本系列中讲述了asp.net的基本原理和基本控件的用法,并在此基础上加以适当拓展和延伸,使之更适合于指导实际开发。本系列文章的特色是详细讲述知识点的同时还会介绍如何在实际开发中应用,理论联系实际。注:最近跟出版社商量,最终随书发布的视频中会采用较高版本的软件,采用SQL Server2005+VS2008来录制,最终出版的书稿也是采用SQL Serv 阅读全文
posted @ 2009-05-11 10:21 周金桥 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 《asp.net夜话》一书视频1-12章下载(2009年4月13日更新) asp.net夜话教学视频说明本系列视频是笔者著作《asp.net夜话》的配套视频教程。《asp.net夜话》是根据在csdn论坛里经常问到的问题结合本人多年的网站开发经验而写,这本书着重讲述如何利用asp.net开发出高效率和高安全性的网站来。在本系列中讲述了asp.net的基本原理和基本控件的用法,并在此基础上加以适当拓展和延伸,使之更适合于指导实际开发。本系列文章的特色是详细讲述知识点的同时还会介绍如何在实际开发中应用,理论联系实际。注:最近跟出版社商量,最终随书发布的视频中会采用较高版本的软件,采用SQL Ser 阅读全文
posted @ 2009-05-08 11:59 周金桥 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 为你的类库生成类似于MSDN的帮助文档.net开发人员都知道大名鼎鼎的MSDN帮助文章,对VS2008的MSDN帮助文档,微软是这么定义的:“MSDN Library for Visual Studio 2008 是权威的开发人员文档。我们将继续为您提供有关 Visual Studio 2008 发行版本地帮助的最新信息,同时,我们还增强了帮助选项,包括联机 F1 主题、搜索、索引以及联机或脱机使用目录的能力。有关本文档库改进功能的更多信息,请单击右侧的链接或访问新增功能页面。”下面是MSDN的截图:有没有想过为你的程序也生成类似的文档便于别的开发阅读你提供的类库的API文档呢?早期的开发人员 阅读全文
posted @ 2009-04-27 09:29 周金桥 阅读(224) 评论(0) 推荐(0) 编辑
摘要: asp.net夜话教学视频说明本系列视频是笔者著作《asp.net夜话》的配套视频教程。《asp.net夜话》是根据在csdn论坛里经常问到的问题结合本人多年的网站开发经验而写,这本书着重讲述如何利用asp.net开发出高效率和高安全性的网站来。在本系列中讲述了asp.net的基本原理和基本控件的用法,并在此基础上加以适当拓展和延伸,使之更适合于指导实际开发。本系列文章的特色是详细讲述知识点的同时还会介绍如何在实际开发中应用,理论联系实际。注:最近跟出版社商量,最终随书发布的视频中会采用较高版本的软件,采用SQL Server2005+VS2008来录制,最终出版的书稿也是采用SQL Serv 阅读全文
posted @ 2009-03-30 10:29 周金桥 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 在.net下进行网络编程其实也相对比较简单,因为在.net类库已经提供了大量封装好的类。在.net下网络编程比较底层的类是System.Net.Sockets.Socket类,这个类提供了丰富的方法和属性,并且还提供了异步数据传输支持。对Socket类做一个简单的介绍,它有如下常见方法:public Socket Accept ():为新建连接创建新的 Socket。 public void Bind (EndPoint localEP):使 Socket 与一个本地终结点相关联。 public void Close ():关闭 Socket 连接并释放所有关联的资源。注意这个方法有冲载方法。 阅读全文
posted @ 2009-03-18 09:22 周金桥 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。反之,反序列化根据流重新构造对象。此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件中“恢复”对象到序列化之前的状态。在.net中有提供了几种序列化的方式:二进制序列化XML序列化SOAP序列化二进制序列化所谓二进制序列化,指的是对象序列化之后是二进制形式的。二进制序列化是通过BinaryFormatter类来实现的,这个类位于System. 阅读全文
posted @ 2009-03-11 09:46 周金桥 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 知道这本书已经很早了,因为很早就听别人介绍过,说这是一本不错的计算机书籍,因为这本书的作者很牛,作者Jeffrey Richter不但是知名技术作家(如果不是因为工作关系,真想这次去北京和这位心目中的偶像,因为最近有一个见面会,可以零距离接触这个大牛),而且还是Microsoft .NET开发团队的顾问,有着这层特殊的关系使得他在写这本书的时候分析CLR的内部机制时能够得心应手。虽然本人从事.net开发已经多年,但是这次读这种基础的书籍,经常仍有温故知新的感觉,特别是在书中深入剖析了.NET Framework和CLR 2.0的内部机制,内容也涉及到.net开发的方方面面,不但包括有关常量、字 阅读全文
posted @ 2009-02-22 15:19 周金桥 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 在.net内部存在一些默认机制,具体说来有如下:(1)如果类的实例字段没有赋初始值,那么它们就会被赋默认值,对于引用类型字段的默认值为null,对于简单值类型字段(即数值类型)默认值为对应形式的0(如sbyte、byte、short、ushort、int、uint、long 和 ulong都是0,而char类型字段的默认值值是’/0x0000’,float类型字段是0.0f,double类型字段是0.0d等等)。(2)如果类中赋初值的静态字段,那么自动生成一个静态构造函数,在静态函数中完成赋初值。(3)如果一个类没有明确指明派生自哪个类,默认会派生自Object类。(4)如果一个类没有定义任何 阅读全文
posted @ 2009-02-11 09:30 周金桥 阅读(232) 评论(0) 推荐(0) 编辑
摘要: asp.net夜话教学视频说明本系列视频是笔者著作《asp.net夜话》的配套视频教程。《asp.net夜话》是根据在csdn论坛里经常问到的问题结合本人多年的网站开发经验而写,这本书着重讲述如何利用asp.net开发出高效率和高安全性的网站来。在本系列中讲述了asp.net的基本原理和基本控件的用法,并在此基础上加以适当拓展和延伸,使之更适合于指导实际开发。本系列文章的特色是详细讲述知识点的同时还会介绍如何在实际开发中应用,理论联系实际。注:最近跟出版社商量,最终随书发布的视频中会采用较高版本的软件,采用SQL Server2005+VS2008来录制,最终出版的书稿也是采用SQL Serv 阅读全文
posted @ 2009-02-09 10:30 周金桥 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 在我的一篇有关个人经历的文章《艰难的路,艰难的行走——读疯狂的程序员有感及近2年来的个人总结》在论坛和博客发表之后,收到了很多朋友的热情的鼓励,在此我深表感谢,阳光总在风雨后,对我而言现在经过几年的辛苦奋斗,风雨基本过去了,我现在生活过得很充实也很开心。今天收到了一封特殊的私人留言,是一个即将毕业的大学生给我的留言,希望我能给他一些建议,其实我曾经想过在《asp.net夜话》系列中讲讲我个人的经历以及我的学习方法的,今天就把我给他的留言整理一下发表在网上,供大家参考吧。希望周公能够帮帮忙,我真的很困惑。谢谢周公:您好。冒昧的打扰,希望您不要介意。看了您的《艰难的路,艰难的行走》,感觉很受触动, 阅读全文
posted @ 2008-12-17 08:50 周金桥 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 12月的北京,寒风刺骨,12月的汤山九华山庄里却热火朝天。12月4日到12月6日2008软件开发2.0技术大会在北京汤山九华山庄举行。来自全国的各路精英齐聚汤山参加了这一软件行业的技术盛宴。本人是第一次参加这样的技术大会。12月4日的下午的大会主题主要是“技术天下势”,在这个系列讲座中见识了现代软件开发之父Ivar Jacobson——从事技术工作40余年的前辈,算是软件行业“骨灰级”的大佬了,他的讲座不仅生动而且还十分风趣。整个会议中高潮部分还是金山副董事长、UCWEB董事长雷军的出现。提到Office总有人会想起WPS,提到WPS就不会忘记求伯君,提起求伯君就不能不提金山,提到金山就不能避 阅读全文
posted @ 2008-12-08 09:05 周金桥 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 在开发中经常会遇到这样的情况,在部署程序时为了保密起见并不将源代码随项目一同发布,而我们开发时的环境与部署环境可能不一致(比如数据库不一样),如果在代码中保存这些配置这些信息部署时需要到用户那里更改代码再重新编译,这种部署方式非常麻烦。在.net中提供了一种便捷的保存项目配置信息的办法,那就是利用配置文件,配置文件的文件后缀一般是.config,在asp.net中配置文件名一般默认是web.config。每个web.config文件都是基于XML的文本文件,并且可以保存到Web应用程序中的任何目录中。在发布Web应用程序时web.config文件并不编译进dll文件中。如果将来客户端发生了变化 阅读全文
posted @ 2008-11-10 08:44 周金桥 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 本篇要讲述的知识点如下:TreeView控件MultiView控件Javascript方式的选项卡WiZard控件MasterPage母板页TreeView控件在我们的开发中经常会遇到一些有树形层次关系的数据,比如显示无限级分类和显示某个文件下的所有文件及文件夹,对于这些带有树形层次关系的数据的显示用TreeView控件是一个比较不错的选择。TreeView控件支持数据绑定也支持以编程的方式动态添加节点。在TreeView控件中每个节点都是一个TreeNode对象,我们可以通过TreeNode对象的Nodes属性来添加其它的TreeNode对象,使之成为这个TreeNode对象的子节点。Tre 阅读全文
posted @ 2008-11-03 10:09 周金桥 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 本篇要讲述的知识点如下:数据验证介绍纯客户端脚本验证asp.net验证控件概述RequiredFieldValidator控件CompareValidator控件RangeValidator控件正则表达式RegularExpressionValidator控件CustomValidator控件ValidationSummary控件 分组校验技术数据验证介绍在我们的开发中要提高网站的健壮性,为了做到这些笔者曾经在企业培训时候提到了两个原则:第一条原则:就是尽量减少让用户输入的机会,比如数据的录入时间我们可以设置该条记录的为数据库的当前时间,这个可以在创建或者设计表的时候实现。下面就是一个例子:c 阅读全文
posted @ 2008-10-28 09:21 周金桥 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 通过前面的例子我们看到每次我们要显示数据的时候都要通过一个循环来显示满足条件的数据,这是一个比较麻烦的过程,为此微软定义了一系列的控件专门用于显示数据的格式,通过这些控件可以以可视化的方式查看绑定数据之后的效果。这些控件称之为数据绑定控件。在asp.net中所有的数据库绑定控件都是从BaseDataBoundControl这个抽象类派生的,这个抽象类定义了几个重要属性和一个重要方法:DataSource属性:指定数据绑定控件的数据来源,显示的时候程序将会从这个数据源中获取数据并显示。DataSourceID属性:指定数据绑定控件的数据源控件的ID, 显示的时候程序将会根据这个ID找到相应的数据 阅读全文
posted @ 2008-10-24 08:17 周金桥 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 像我这种个性的人,走到哪里都容易趣事不断,不过发生在MVP Open Day的这几天有趣的事情更是多了。趣事之一就是刚刚下车,同行的就发现戴尔笔记本电源适配器没有带,于是我们在丽泽桥下车之后就赶到中关村去买本本的电源适配器。在中关村南终于买到了电源适配器了,可是我们却不知道怎么去汤山了。来之前我让北京的朋友帮我选择了从丽泽桥到汤山的乘车路线,结果因为去了中关村,导致不能按原定路线乘车了,于是打电话问微软的人,郁闷的是他也不知道,问了好几个同事才确定去坐什么地铁线来着。刚挂电话,旁边的一个好心人告诉我们其实在中关村南就可以直接坐车去通天苑而不必步行15分钟再坐地铁去。于是我们就坐了车到北苑下,准 阅读全文
posted @ 2008-10-21 09:21 周金桥 阅读(148) 评论(0) 推荐(0) 编辑
摘要: Asp.net夜话之七:ADO.NET介绍ADO.NET是对Microsoft ActiveX Data Objects (ADO)一个跨时代的改进,它提供了平台互用性和可伸缩的数据访问。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。以前做数据库访问的时候,需要一直与数据库保持连接,直到获取完所有满足需要的数据之后才会断开数据库连接,这种数据库访问方式称之为连接式数据访问技术。相比于 阅读全文
posted @ 2008-10-13 09:19 周金桥 阅读(289) 评论(0) 推荐(0) 编辑
摘要: asp.net夜话之六:asp.net基本控件在本系列之三《asp.net夜话之三:表单和控件》中讲到了HTML服务器控件,HTML服务器控件有如下特点:(1)HTML服务器控件是建立在HTML控件的基础上,额外增加了一个在当前页面中唯一的ID属性值和一个runat=”server”属性;(2)HTML服务器控件必须放在服务器端表单中,也就是必须在<form runat=”server” id=”form表单ID”></form>标记之中。(3)HTML服务器控件最终在Web服务器处会被解释成普通HTML控件标记发送到客户端浏览器。asp.net服务器控件是微软为了方便 阅读全文
posted @ 2008-10-06 08:36 周金桥 阅读(326) 评论(0) 推荐(0) 编辑
摘要: asp.net夜话之五:Page类和回调技术在今天我主要要介绍的有如下知识点:Page类介绍Page的生命周期IsPostBack属性ClientScriptManager类回调技术(CallBack)Page类介绍asp.net有时候也被成为WebForm,因为开发一个asp.net页面就像开发一个WinFrom窗体一样,我们同样可以采用拖拽控件、双击产生相关处理代码的方法。在asp.net中,创建一个页面可以采用两种模型。单页模型用Dreamweaver创建的asp.net页面就是单页模型,当然利用Visual Studio 2005也能创建单页模型,不过在Visual Studio 20 阅读全文
posted @ 2008-09-28 08:04 周金桥 阅读(202) 评论(0) 推荐(0) 编辑
摘要: Asp.net夜话之四:Visual Studio 2005中容易被忽略的技巧在今天我主要要介绍的有如下知识点:Visual Studio 2005网站开发环境任务管理器配置外部工具代码段管理器发布网站之所以要单独用一篇文章来介绍Visual Studio 2005这个集成开发环境,是因为在做企业培训的时候,发现很多程序员仅仅用了一些基本功能,这个好像也符合软件界一个“20%和80%法则”,就是80%的用户只用到了软件的20%的功能。确实有时候利用基本功能就足以进行开发了,但是有些功能能够方便我们的开发,有些能提高我们的开发速度,所以我觉得这些计较值得跟大家交流一下。Visual Studio 阅读全文
posted @ 2008-09-22 09:08 周金桥 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 在今天我主要要介绍的有如下知识点:HTML表单的提交方式HTM控件获取HTML表单内容乱码问题SQL注入服务器端表单HTML服务器控件HTML表单的提交方式对于一个普通HTML表单来说,它有两个重要的属性:action和method。action属性指明当前表单提交之后由哪个程序来处理,这个处理程序可以是任何动态网页或者servlet或者CGI(Common Gateway Interface),在asp.net里面一般都是都aspx页面来处理。method属性指明form表单的提交方式。它有两个可能值get和post。下面我们以一个例子来说明get和post的区别。用Dreamweaver8 阅读全文
posted @ 2008-09-18 07:56 周金桥 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 在今天我主要要介绍的有如下知识点:RequestResponseServerSessionCookieApplication<%%>及<%=%>表达式准确地说,asp.net并没有内置对象这一说,jsp里确实把request、response这些当作jsp的内置对象,这里只不过是借用了一下jsp的说法而已。上面提到的很多都是在做asp.net开发时无需new就能使用的对象(类似的还有很多,在asp.net中所有的网页都是继承自System.Web.UI.Page这个类,上面的提到多是Page类的属性)。在Web中处于中心的是Web服务器,用来处理客户端的HTTP请求。由 阅读全文
posted @ 2008-09-15 00:15 周金桥 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 题外话:去年至今年以来,陆续写过一些原创的文章了,很多是对原来所做项目的总结。所以并不是很系统很全面,都是针对某个知识点或者某个具体应用写的,有些朋友建议我把自己的体会写成一个系统的,这次算是一个尝试吧,写得不好的地方请大家尽量抛西红柿不要丢砖头。之所以把这个系列叫做《asp.net夜话》,是有一些原因的,某不厌酒喜茶,酒越喝越糊涂,茶喝多了也仍然能保持清醒。白天很忙,所以每天回到家之后我会沏一壶茶,边喝茶边看书,偶有心得体会就会用文字记录下来,过一段时间之后再将这些文字整理一下,觉得语句还算通畅的就发表在博客上了。这个关于asp.net系列的文章将会都在晚上完成,所以我叫它《asp.net夜 阅读全文
posted @ 2008-09-12 08:36 周金桥 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 首先我们说一下什么是方法重载。在面对对象这样的高级语言中都允许我们在一个类中定义多个方法名相同、方法间参数个数和参数顺序不同的方法,对于参数个数不同或者参数列表不同的情况我们称之为参数列表不同。需要注意的是这里没有提到方法的返回值。也就是决定方法是否构成重载有两个条件:(1)在同一个类中;(2)方法名相同;(3)参数列表不同。例如下面的代码:publicvoidShow()//(1) {Console.WriteLine("Nothing");}publicvoidShow(intnumber)//(2) {Console.WriteLine(number);}/*publ 阅读全文
posted @ 2008-09-09 08:01 周金桥 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 我们先看下面一段程序:///<summary> ///父类 ///作者:周公 ///首发地址:http://blog.csdn.net/zhoufoxcn/archive/2008/09/02/2864429.aspx///日期:2008-09-01 ///</summary> publicclassFather{publicvoidRun0(){Console.WriteLine("Father.Run0");}}///<summary> ///子类 ///作者:周公 ///首发地址:http://blog.csdn.net/zhouf 阅读全文
posted @ 2008-09-02 08:02 周金桥 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 在.net编程中,我们经常用到config文件来保存一些常用的应用程序配置信息,在WinForm中这个文件名字是app.config,在asp.net中叫web.config。这个.config文件其实就是一个xml文件,对它的读操作微软已经提供了一个类来实现了,这个类就是System.Configuration.ConfigurationManager,下面分别是例子: //读取config里名称为“conn”数据库连接信息 connectionString=System.Configuration.ConfigurationManager.ConnectionStrings["c 阅读全文
posted @ 2008-08-24 15:29 周金桥 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 在web中,安全性主要体现在两个方面:一个是程序安全性,即防止网页在插入恶意代码;另一个是数据库安全性,这个我们可以经常备份数据库来实现。在文中,我将演示如果在网页中备份和恢复数据库。其实备份和恢复数据库都是利用SQL Server提供的SQL语句来备份的。备份:use master;backup database @name to disk=@path;恢复:use master;restore database @name from disk=@path;上面用的是参数化SQL语句,可以在程序执行的时候动态给参数赋值。周公新注(2012-05-08日):注意在备份或者还原数据库的时候要检查 阅读全文
posted @ 2008-08-19 15:11 周金桥 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 发送电子邮件是许多需要用户注册的网站的通用功能,通过正则表达式我们可以过滤掉不符合电子邮件格式的输入,但是仍没有办法确保用户填写的电子邮件地址一定是他本人真实有效的电子邮件地址,通常验证电子邮件真实有效的办法是:当用户填写的注册资料经过网站初步格式验证之后,用户并不能利用此帐号登录,系统会向用户注册时填写的电子邮件地址发送一封电子邮件,邮件中给出一个链接,只有当用户点击了这个链接之后才能登录到网站,如果用户填写的电子邮件地址不是真实有效的或者不是他本人的,就不会收到这封电子邮件,这样仍然不能登录,这一步一般称之为电子邮件激活。在.net类库中有两种发送电子邮件的方式,一种是在.net2.0以下 阅读全文
posted @ 2008-08-09 08:26 周金桥 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 1.关于SQL Injection 迄今为止,我基本没有看到谁写出一篇很完整的文章,或者说很成熟的解决方案(能做到 的人肯定很多,问题是没有流传开来,很遗憾) 我简单的说几点,希望启发大家思考,起到抛砖引玉的作用 一、SQL Injection的原理 SQL Injection的实现方法和破坏作用有很多,但万变不离其宗,其原理可以概括为一句话 :SQL Injection就是向服务器端提交事先准备好的数据,拼凑出攻击者想要的SQL语句,以改变数据库操作执行计划。 我想,这么说也许不算精炼,但意思应该很明确了,这句话主要包含这么三层意思: 1.攻击者通过何种途径注入? 存在SQL Injecti 阅读全文
posted @ 2008-08-06 23:35 周金桥 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 学过Java的朋友可能都听说过Java的历史:当初Java是为机顶盒设备和手持设备设计的,可惜理念在当时太朝前,结果没有被人所接受,于是Java的创始人James Gosling想到在网络上碰碰运气,当时吸引大家眼球的就是用Java编写的一个Applet,早期Java的应用很多时用来编写Applet,后来慢慢发展到J2ME/J2SE/J2EE三个分支。现在RIA(Rich Internet Application,富互联网应用系统)方面已经是Flash和sliverlight的天下了,所以微软推出C#的时候没有对类似Applet这样的网页小应用程序的支持,不过利用.net我们还是可以做出一些类 阅读全文
posted @ 2008-08-01 21:12 周金桥 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 在实际项目中我们经常需要绘制一些实时的数据图片,比如当前各公司的用水量、用电量还有播放声音视频时实时显示当前的声频等等,在我们最熟悉的任务管理器也有这么一个功能,用来表示当前CPU的使用频率,最近笔者刚刚给朋友完成了一个类似的功能图,用曲线图来实时表示一些实际数据,由于形象直观,很受客户欢迎。不过由于某些原因,本人不能将实际项目中的代码拿出来给大家分享,只能模拟了一个简单的实现,代码没有过多优化,所以还存在很多可以优化的地方,希望有兴趣的朋友自己完善。为了操作和应付变化,所以将绘制曲线图的功能单独封装成一个类,里面的数据完全是模拟的,在横向坐标上每个像素间隔用一个点来控制(实际中可能会加大这个 阅读全文
posted @ 2008-07-21 01:05 周金桥 阅读(1712) 评论(0) 推荐(0) 编辑
摘要: 以前我写过通过WMI来获取有关系统信息的系列文章,确实通过WMI能够恨轻易地实现很多我们想实现的功能,不过有些情况下我们很难利用WMI来实现一些复杂的功能,比如最近我做的一个项目,其中有一个功能就是要更改系统当前时间,利用WMI就很难实现(我没有找到相关的方法),还有一些其它方面的功能,也比较难以通过WMI来实现,也许是WMI需要较高的权限才能执行的原因吧。所以,尽管我们不愿意,但是又不得不通过调用Windows 的API来实现。本文的目的就是讲述如何在C#中调用Windows的系统API。本文将按照下面的步骤分别讲解:API简介C#中的简单数据类型与API中的数据类型对应关系如何在调用API 阅读全文
posted @ 2008-07-17 08:12 周金桥 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 7月1日收到一封邮件,邮件的内容如下:尊敬的 Jinqiao Zhou 祝贺您!我们非常高兴地授予您2008 年微软最有价值专家奖项!微软最有价值专家奖项是为了感谢您每天努力促进并推动社区的精神和改进人们生活和产业成功。我们感谢您在过去一年中对于 Visual C# 技术社区所做的非凡努力。微软即将寄送给您MVP 奖励包裹。它是我们对您说“感谢您让一切都不同了”。您将在接下来的 10 个工作日内收到一封电子邮件包含您的 MVP 奖品递送信息和您的跟踪号码。 为了要开始使用您的专家奖项,请您使用如下身份登录MVP Award网站。新当选和连任的MVPs必须在MVP Award网站上确定接下来的1 阅读全文
posted @ 2008-07-04 18:32 周金桥 阅读(168) 评论(0) 推荐(0) 编辑
摘要: .net中对于IO流的支持分为两个层次:基于字节和基于字符两种方式。基于字节的方式:基于字节的方式适用于任何场合,因为任何文件的数据都是基于字节的方式有序存放的。基于字节的方式适用于操作二进制文件,比如exe文件、视频、音频文件等等。Stream抽象类是所有基于字节方式的流的父类。Stream及其子类具有三个方面的特征:支持从流读取。可以从流中读取单个字节或者一次性读取多个字节,将读取到的多个字节存储到字节数组中。支持向流写入。可以向流中写入单个字节或者一次性写入多个字节,如果要一次性写入多个字节,可以将多个字节构成一个字节数组,作为写入方法的参数。支持查找。不过这个特性在其某些子类中就不支. 阅读全文
posted @ 2008-06-30 08:04 周金桥 阅读(266) 评论(0) 推荐(0) 编辑