人无信不立/2008-04-26 22:30
posted @ 2008-08-27 09:26 永春 阅读(66) | 评论 (0)编辑
     摘要: 在Asp.Net的Page页面中我们经常会使用到资源文件。读取资源文件的方式为: Resources:Resource1,Test1 ,这样就可以显示Resource1这个资源文件中的Test1的键值,并且在页面设计过程中就可以正确的显示资源文件中的值了。这里就是使用到了.Net中的表达式构造器,那么它是如何实现的?我们能不能定义自己的表达式构造器呢?本文通过构建一个简单的Xml表达式构造器来说明这一过程。  阅读全文
posted @ 2008-08-05 13:05 永春 阅读(1607) | 评论 (3)编辑
     摘要: 在Sharepoint的管理中心创建一个网站的顺序大致如下:创建Web应用程序-〉创建网站集。所以Web应用程序是网站的一个基础,在一个Web应用程序下可以创建多个网站,本回就主要来介绍Web应用程序这个对象模型以及如何使用对象模型来创建一个Web应用程序。  阅读全文
posted @ 2008-08-01 11:00 永春 阅读(1633) | 评论 (2)编辑
     摘要: Sharepoint是微软一个很重要的服务器产品,它可以方便的创建和维护一个网站,在Sharepoint的管理中心提供了很强大的管理工具。同时为了更加灵活的后期定制和开发,Sharepoint提供了完整的对象模型,对象模型也就相当于Sharepoint的二次开发接口,从服务器场到一个网站,以至一个Sharepoint中的列表都有相应的对象模型。本系列希望能对Sharepoint的对象模型进行一个大体的介绍。  阅读全文
posted @ 2008-07-31 20:01 永春 阅读(696) | 评论 (1)编辑
     摘要: 在上一回中说了Sharepoint中的服务器场,在服务器场中最重要的一个服务就是Web应用程序服务。我们自己的Sharepoint网站都是借助于这个服务才能正常运行的,也就是说所有的Sharepoint站点都是搭建在这个服务之上的。Web应用程序服务对应的对象模型为:SPWebService,本回就主要说说这个对象模型。  阅读全文
posted @ 2008-07-31 19:59 永春 阅读(461) | 评论 (0)编辑
     摘要: Sharepoint是微软一个很重要的服务器产品,它可以方便的创建和维护一个网站,在Sharepoint的管理中心提供了很强大的管理工具。同时为了更加灵活的后期定制和开发,Sharepoint提供了完整的对象模型,对象模型也就相当于Sharepoint的二次开发接口,从服务器场到一个网站,以至一个Sharepoint中的列表都有相应的对象模型。本系列希望能对Sharepoint的对象模型进行一个大体的介绍。 第一回:服务器场 服务器场是Sharepoint2007中最高的一个层次,在安装Sharepoint时可以把几台机器安装在同一个服务器场中,比如同一个服务器场中可以包含一台搜索服务器、两台应用服务器......,服务器场对应的对象模型就是SPFarm  阅读全文
posted @ 2008-07-31 19:28 永春 阅读(1386) | 评论 (7)编辑
     摘要: 在.Net Framework中提供了代码访问安全性(Code Access Security),它的主要作用就是限制代码的使用权限。可以控制各种系统资源的访问权限、可以要求代码的调用方拥有特定的权限......。比如我们可以控制自己的dll只能在什么条件下由什么人调用,特别是在Asp.net中可以限制不同代码的安全权限,从源头限制住网络上的攻击等。 本文的主要内容如下: 1、在Asp.Net中使用自定义的信任级别 2、配置Sqlconnection的代码访问权限 3、实现和使用一个最简版的自定义权限   阅读全文
posted @ 2008-07-24 16:31 永春 阅读(1752) | 评论 (6)编辑
     摘要: 最经典,最可怕的qq聊天记录
胆大的来看看,被吓了不要怪我,我也是被吓了才转过来的  阅读全文
posted @ 2008-07-18 21:00 永春 阅读(600) | 评论 (15)编辑
     摘要: 一句套话:项目经理真不是人干的活。

不知道其他公司的项目经理具体是做什么的,我感觉我们公司的项目经理基本上要负责项目管理+技术经理+后期设计,目前手头上的一个国内项目就是这样,也是我感觉做的最累的一个,出现的问题不少,也获得了不少经验。以前总感觉项目经理比较好当,现在终于明白自己不足的地方还很多。

关于项目管理的理论书籍不少,以下只是我个人的一些体会,写下来提醒自己也希望能够给刚入行的程序员一个借鉴。  阅读全文
posted @ 2008-07-18 19:23 永春 阅读(1817) | 评论 (43)编辑
     摘要: 《博客园精华集--Sharepoint分册》第三轮结果
写在前面:
Sharepoint接触的人相对比较少,筛选下来感觉精华文章不多。对于本分册我准备采用入门、使用、开发、进阶的组织方式,当然如果大家认为不够精华有违精华集的宗旨的话,也可以将本分册拿掉,把其中的精华文章合并到其他分册。

下面是我初步筛选的结果,时间、能力有限,难免有疏漏之处,希望大家能够提出宝贵意见,如分类不正确、转载文章、质量太差等,我们将根据大家的意见在后面的工作中进行调整。
另外,如果您的文章当前已经被收录,但您不想让文章进入本书,请一并提出,谢谢合作。

目录如下:  阅读全文
posted @ 2008-07-17 16:01 永春 阅读(3012) | 评论 (38)编辑
     摘要: 由我筛选完成,MOSS部分一共68篇,Sharepoint部分一共213篇
Sharepoint相对来说学习和使用的人还比较少,因此本结果并不能算一个精华集。包含了Sharepoint的安装说明、入门介绍、定制开发、Webpart开发、对象模型使用、MOSS中的工作流、InfoPath和技巧总结等方面,力求对Sharepoint有一个多方位的介绍。  阅读全文
posted @ 2008-06-13 20:52 永春 阅读(2839) | 评论 (14)编辑
     摘要: 在我的上一篇文章中说到了HttpModule、HttpHandle的简单使用,我们可以利用它们在页面请求的过程中加入自己的事件处理程序。那么在一个aspx页面请求时后台到底做了什么?当然asp.net做了很多事情,过程也比较复杂,本文主要分析一下大体的流程。总体流程如下:
请求一个页面时首先被WWW服务截获(inetinfo.exe进程),这个进程首先判断页面的后缀,然后根据IIS中的配置来决定调用哪个扩展程序,比如aspx的页面就会调用c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll,aspnet_isapi.dll将请求发送给w3wp.exe进程(我们在调试IIS中网站时就是把VS2005附加到这个进程上的)。
接下来w3wp.exe进程就会调用.net类库进行具体处理:
ISAPIRuntime-->HttpRuntime-->HttpApplicationFactory-->HttpApplication-->HttpModule--HttpHandlerFactory-->Ht  阅读全文
posted @ 2008-05-08 16:25 永春 阅读(3416) | 评论 (20)编辑
     摘要: 这三个对象我们在开发Asp.net程序时经常会用到,似乎很熟悉,但有时候又不太确定。本文通过一个简单的例子来直观的比较一下这三个对象的使用。
HttpModule:Http模块,可以在页面处理前后、应用程序初始化、出错等时候加入自己的事件处理程序
HttpHandler:Http处理程序,处理页面请求
HttpHandlerFactory:用来创建Http处理程序,创建的同时可以附加自己的事件处理程序  阅读全文
posted @ 2008-05-07 18:47 永春 阅读(3714) | 评论 (20)编辑
     摘要: 网上有很多文章介绍如何在MOSS中使用Ajax1.0的框架。其实自从.net3.5推出之后,在.net3.5中已经自带了Ajax的功能。本文主要介绍如何在VS2005中使用.net3.5中的Ajax功能,以及如何在MOSS中使用.net3.5中的Ajax功能。
  阅读全文
posted @ 2008-04-26 20:45 永春 阅读(2470) | 评论 (7)编辑
     摘要: 以前开发项目时经常是自己开发一套用户权限管理系统进行验证,比较灵活。最近为了单点登录的问题又把Asp.Net自带的验证方式看了一遍,发现这种方式也比较方便,功能也还可以。在Asp.Net提供了三种常用的验证方式:Windows方式是和IIS结合起来可以实现基本、摘要、集成 Windows等身份验证;Passport方式是使用Windows Live ID的帐户来进行统一验证的;Forms方式是使用常见的表单来实现验证。
本文主要就是讨论Forms验证方式普通实现、自定义实现、自定义角色提供程序、如何单点登录(可和MOSS结合)等几个方面。  阅读全文
posted @ 2008-04-22 19:56 永春 阅读(3969) | 评论 (23)编辑
     摘要: 在Asp.Net的开发过程中页面文件等都是放在当前网站目录下的,其实我们可以利用.Net2.0新增的虚拟文件系统(VirtualPathProvider)将页面、图片等信息保存到数据库或其他目录中去,达到灵活配置。
本文以一个例子来说明虚拟文件系统的使用,要实现的功能场景描述如下:
以前开发Asp.Net的web用户控件时,需要把用户控件和当前项目作为同一个项目时才能正常使用,而且发布时需要把dll文件和所有的ascx文件都发布才能使用;另外也不方便作为公用类给其他人使用
利用虚拟文件系统后可以把ascx文件作为资源打包到dll中,下次只要有这个dll就可以使用了,不需要ascx文件,很方便。  阅读全文
posted @ 2008-04-19 20:17 永春 阅读(3263) | 评论 (29)编辑
posted @ 2008-04-16 09:57 永春 阅读(255) | 评论 (0)编辑
posted @ 2008-04-15 11:07 永春 阅读(1141) | 评论 (6)编辑
     摘要: CMMI(Capability Maturity Model Integration)即能力成熟度集成模型,主要包括过程管理、项目管理、软件工程、过程支持等几个大的过程。
公司正在进行CMMI的评估,评估之初我们老总就确立了一个原则:简单实用,切合实际开发流程。
我也担当了其中一个评估项目的项目经理,但是在实际使用过程中还是深深感受到了CMMI的繁琐。那么我们到底要不要CMMI,在多大程度上使用CMMI呢?  阅读全文
posted @ 2008-04-14 19:10 永春 阅读(2345) | 评论 (23)编辑
     摘要: moss中的feature功能很强大,本文主要看一下如何开发一个模块化的feature。
比如可以把一个学生管理功能(包括aspx页面等)开发成一个feature,然后可以在不同的moss网站中有选择的激活这个feature,激活后就把对应的链接加入此网站的首页上,以此实现功能的动态加载。  阅读全文
posted @ 2008-04-10 19:15 永春 阅读(840) | 评论 (12)编辑
     摘要: 前期说明:在Project2007中可以选择一个团队项目(TFS),然后在Project2007中排好进度,作为工作项发布到TFS服务器上。之后可以直接作为工作项在VS2005等工具中填写项目进度。本文的目的就是要显示出TFS中保存的实时项目进度情况等。
技术说明:在Project2007之前的版本可以通过oledb的方式直接读取project的mpp文件来显示进度,在project2007时不再提供oledb的方式了,可能的两种实现方法有:
1、使用Project2007提供的COM接口,读取mpp文件中的任务 + TFS中的实时进度
2、把所有的进度安排(包括父任务)发布到TFS中,直接读取TFS中的实时进度  阅读全文
posted @ 2008-04-10 16:57 永春 阅读(525) | 评论 (2)编辑
     摘要: 在MOSS的管理界面中我们可以很方便的创建一个网站,不过在有的情况下可能需要动态的、程序化的创建一个网站。本文就是演示在客户端使用WinForm来创建一个MOSS的网站,主要实现的功能有:
1、使用特定的一个模板创建网站
2、给新建网站分配一个超级管理员
3、创建网站的同时激活某个feature
4、在主页上加入新建网站的链接
5、删除指定的网站  阅读全文
posted @ 2008-04-09 19:53 永春 阅读(2243) | 评论 (16)编辑
     摘要: Infopath是Office中提供的一个部件,可以方便快捷的处理一些表单。比较常见的使用就是会计可以利用Infopath制作一个表单模板,需要报销的人直接填写就可以了,填写好的表单可以xml的格式保存为本地的一个表单文件。
同时也可以将Infopath表单模板在web页面上来呈现和填写。在MOSS中提供了InfoPath Forms Services功能可以方便的发布Infopath表单,当然在Web上使用Infopath在功能上会有一些限制。
本文要实现功能如下:编写一个Infopath表单,发布到Moss中(嵌入到原有的MOSS页面中),当提交时将表单中的数据保存到数据库中去。(模拟一个用户编辑功能)  阅读全文
posted @ 2008-04-06 16:38 永春 阅读(2473) | 评论 (10)编辑
posted @ 2008-04-02 16:18 永春 阅读(495) | 评论 (0)编辑
posted @ 2008-04-02 14:34 永春 阅读(830) | 评论 (19)编辑
posted @ 2008-03-27 13:53 永春 阅读(973) | 评论 (2)编辑
posted @ 2008-03-25 19:20 永春 阅读(419) | 评论 (7)编辑
     摘要: 序列化和反序列化我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。
我想最主要的作用有:
1、在进程下次启动时读取上次保存的对象的信息
2、在不同的AppDomain或进程之间传递数据
3、在分布式应用系统中传递数据
......
在C#中常见的序列化的方法主要也有三个:BinaryFormatter、SoapFormatter、XML序列化
本文就通过一个小例子主要说说这三种方法的具体使用和异同点  阅读全文
posted @ 2008-03-18 17:39 永春 阅读(3377) | 评论 (30)编辑
posted @ 2008-03-18 10:42 永春 阅读(447) | 评论 (6)编辑
     摘要: 在以前传统的开发中我们都知道,一个应用程序对应一个进程,并为该进程指定虚拟内存,由操作系统来映射实际的物理内存,有效的维护了进程之间的安全性。但另一方面,每一个进程都会消耗一定的系统资源,降低了性能,并且进程间的通信也比较麻烦。
在.Net中推出了一个新的概念:应用程序域(AppDomain)。可以理解成很多应用程序域都可以运行在同一个.NET的进程中,可以降低系统消耗,同时不同的域之间互相隔离,在安全性方面有保障。另外对于同一个进程内不同域之间的通信也相对简单一点。
应用程序域涉及的内容很多,本文就简要描述以下两个方面:
1、如何创建、卸载域
2、如何实现域间的通信  阅读全文
posted @ 2008-03-14 16:45 永春 阅读(3098) | 评论 (6)编辑
     摘要: 现在的程序越来越要考虑国际化了,对于网站的开发也经常要考虑国际化的问题。
常见的国际化的需求主要就是两个方面:
1、不同的国家页面布局不同
2、不同的国家要显示当国的文字
在ASP.NET2.0中实现这两种需求的方法很多,我今天就总结其中一种方法的具体实现。  阅读全文
posted @ 2008-03-13 17:24 永春 阅读(2988) | 评论 (24)编辑
posted @ 2008-03-13 13:59 永春 阅读(786) | 评论 (0)编辑
posted @ 2008-03-13 10:03 永春 阅读(315) | 评论 (0)编辑
     摘要: 一个朋友结婚,让我帮他找一个小工具,网上没有找到,很简单,就自己写了一个,有需要的朋友可以自行下载-_-
作用是这样的:结婚当天会用数码相机拍很多照片,然后在结婚仪式的最后把这些照片导入电脑,用一个小工具在电脑上快速的循环显示这些图片,然后当嘉宾喊停的时候(按一下键盘)屏幕不在循环,停留在当前图片上,就表示这个人中奖了。  阅读全文
posted @ 2008-03-10 17:43 永春 阅读(812) | 评论 (12)编辑
posted @ 2008-03-10 09:04 永春 阅读(207) | 评论 (0)编辑
     摘要: 在软件开发尤其是框架和底层开发时,为了更灵活的控制代码,常常需要进行一些动态的操作。比如根据用户的输入等动态的调用类中的方法或者根据数据库表结构、用户要求动态的生成一些类,然后再动态的调用类中的方法。当然使用这些方式时会对性能有一点影响,具体使用过程中可以根据实际情况来定,不过一般的 B/S开发中主要的瓶颈还是在数据库操作和网速方面,这点影响应该可以忽略的
下面我就从这两个方面来说说动态代码的使用:  阅读全文
posted @ 2008-03-07 10:41 永春 阅读(3612) | 评论 (20)编辑
posted @ 2008-03-06 17:33 永春 阅读(507) | 评论 (1)编辑
posted @ 2008-03-06 16:04 永春 阅读(301) | 评论 (0)编辑
     摘要: 我们一般会把系统安装在C盘,但是使用一段时间后会发现C盘的空间越来越少。尤其我们做开发的,会在电脑中装上很多软件的。比如我的机器上C盘空间 15G,平时安装软件时只要可以选择我都会把它装到其他盘的,但是半年下来,C盘只剩下800M的空间了,究其原因,一方面windows系统会占用很大的空间,另一方面平时安装软件时也会把一些系统文件安装到C盘下的。在此总结我清理C盘的一些方法,也欢迎大家补充:  阅读全文
posted @ 2008-03-06 10:34 永春 阅读(1288) | 评论 (5)编辑
posted @ 2008-02-21 11:04 永春 阅读(201) | 评论 (0)编辑
posted @ 2008-02-01 17:02 永春 阅读(104) | 评论 (0)编辑
     摘要: 匿名方法相信很多人都听过,它是C#2.0的一个新特性,顾名思义,匿名方法就是没有名称的方法。那么在C#中的匿名方法有哪些好处,在C#中如何使用呢?  阅读全文
posted @ 2008-02-01 11:18 永春 阅读(2249) | 评论 (5)编辑
     摘要: 使用.NET开发已经有一段时间了,但是对于一些基础性的东西还是有点模糊,有一种似是而非的感觉。在此整理一下C#中的一些基础知识以及一些可能平时不怎么注意到的知识(本系列会不断更新)  阅读全文
posted @ 2008-01-31 14:44 永春 阅读(2911) | 评论 (8)编辑
     摘要: 最近一直在忙其它项目,Monorail和IBatis.Net系列很长时间没有更新了,今天正好有朋友问到在IBatis.Net中调用存储过程的问题。
其实调用方式比较简单,主要也就是两种类型的存储过程:
1、更新类型的存储过程
2、查询类型的存储过程
下面就来看看具体的调用方式:  阅读全文
posted @ 2008-01-25 15:16 永春 阅读(1486) | 评论 (1)编辑
posted @ 2008-01-22 12:02 永春 阅读(417) | 评论 (0)编辑
     摘要: C#中提供了三种类型的计时器:
1、基于 Windows 的标准计时器(System.Windows.Forms.Timer)
2、基于服务器的计时器(System.Timers.Timer)
3、线程计时器(System.Threading.Timer)
下面我就通过一些小实验来具体分析三种计时器使用上面的异同点,特别是和线程有关的部分。  阅读全文
posted @ 2008-01-21 16:44 永春 阅读(2918) | 评论 (26)编辑
posted @ 2008-01-18 17:15 永春 阅读(595) | 评论 (0)编辑
posted @ 2008-01-16 13:59 永春 阅读(590) | 评论 (0)编辑
posted @ 2008-01-16 13:46 永春 阅读(328) | 评论 (0)编辑
posted @ 2008-01-11 18:55 永春 阅读(432) | 评论 (1)编辑
     摘要: 相信以前用过VB、Delphi,特别是VC的程序员应该对钩子程序都不陌生。在C#中我们同样可以使用钩子程序来实现特殊效果,比如当用户按下某个特殊键时提示,比如关闭应用程序前提示等。
当然使用方法相对VC来说要稍微复杂一点,有的地方还不太方便,下面的例子中实现两个基本功能:
1、按下Alt+F4时使窗口最小化
2、关闭应用程序前提示

不过目前只能捕获消息,不能屏蔽消息,我正在实验,也希望知道的高手能多多指教  阅读全文
posted @ 2008-01-08 18:39 永春 阅读(3400) | 评论 (12)编辑
posted @ 2008-01-05 14:56 永春 阅读(104) | 评论 (0)编辑
posted @ 2008-01-05 14:43 永春 阅读(1377) | 评论 (1)编辑
posted @ 2008-01-05 14:41 永春 阅读(439) | 评论 (0)编辑
posted @ 2008-01-05 14:23 永春 阅读(1278) | 评论 (0)编辑
posted @ 2008-01-05 14:20 永春 阅读(1772) | 评论 (0)编辑
     摘要: 在.NET下开发时,最基本的调试方法就是使用Visual Studio的单步调试。但是对于一些特殊情况,特别是涉及到CLR内部的时候使用这种方式就达不到目的了。
如果要查看运行时内存使用情况,IL代码,CLR信息等可以使用以下两种方式:
1、使用VS2005 + sos.dll
2、使用Windbg + sos.dll
第二种方式功能更加强大,下面我就通过实际操作展示一下怎么使用这种方法得到运行时ArrayList内部的值。
有人可能会说:我直接用Visual Studio的单步调试岂不是更快?当然,这个只是一个演示,通过这个演示是为以后的高级调试打下基础  阅读全文
posted @ 2007-12-29 17:28 永春 阅读(1803) | 评论 (13)编辑
posted @ 2007-12-29 08:48 永春 阅读(235) | 评论 (0)编辑
posted @ 2007-12-28 13:52 永春 阅读(394) | 评论 (0)编辑
posted @ 2007-12-28 13:39 永春 阅读(414) | 评论 (0)编辑
posted @ 2007-12-28 12:30 永春 阅读(401) | 评论 (4)编辑
     摘要: 在Sharepoint搭建过程中,我们可能建立了多个sharepoint主网站,每个主网站下又会有一些子网站,那么如何把其他主网站及子网站的列表在自己的页面中显示呢?
我们这次项目的开发过程中就碰到了这个问题,目前我总结出来了两种实现的方法:
1、使用数据视图结合连接到其他库的方法,这种方法相对简单一点,但是只能实现当前主网站和自己的子网站之间的列表共享,如果要实现共享其他主网站甚至其他机器上的Sharepoint站点的列表就要使用第二种方法了
2、自定义自己的数据视图,通过继承DataFormWebPart实现自己的webpart  阅读全文
posted @ 2007-12-27 14:22 永春 阅读(1438) | 评论 (6)编辑
     摘要: 2007年马上就过去了,临近岁末,园子中大家都在总结,也勾起了我的一点想法。做程序已经做了5年多了,好像一直浑浑噩噩的,没什么想法。工作上面不好也不坏,最近一年来好像是进入了发展的一个瓶颈,感觉不太顺畅,对自己现在的状态也不太满意,当初的激情也在慢慢消退。想想也真快,好像刚毕业,一眨眼就做了5年多程序了,再过5年,就是十年了。十年!很可怕的一个数字,如果到了十年的时候还是现在这种状态就有点无颜见江东父老了。在这个时候还是有必要总结一下我这几年的程序人生,顺便思考以后的发展方向。  阅读全文
posted @ 2007-12-25 08:49 永春 阅读(3974) | 评论 (62)编辑
     摘要: 项目已经进展到了第三周,终于感觉有点眉目了-_-。
由于这次的项目很多知识以前并不了解(主要是Project SDK和TFS SDK),只能一边开发一边学习,因此本周的任务主要是复杂页面的定制和webpart的开发。我们采取的是迭代开发的方式:对于难点、一时解决不了的问题留待二期解决。
碰到的问题主要有:1、如何在一行中显示两条博客文章?2、如何自定义自己的上传页面?3、如何在自己的页面显示项目信息....  阅读全文
posted @ 2007-12-24 09:51 永春 阅读(1708) | 评论 (0)编辑
     摘要: Sharepoint中的数据视图(DataFormWebPart)有着非常重要的作用,特别是在需要定制自己的页面显示格式的时候。
数据视图可以将列表,比如通知列表、博客列表、链接列表等转换成数据视图,然后可以任意控制显示格式
数据视图可以从多个数据源取数据来显示,这里的数据源可以是子网站中的列表、可以是数据库中的记录、可以是其它网站的RSS源
数据视图可以实现分页、排序、查询、过滤等功能
数据视图可以利用ddwrt:IfHasRights实现权限的判断.....

基本的功能我就不说,下面列出我在开发中觉得比较有用的、不太注意到的一些功能。  阅读全文
posted @ 2007-12-19 18:29 永春 阅读(1943) | 评论 (3)编辑
     摘要: 一、Google成为一个超级偷窥狂



想想看,还有什么是Google不知道的?

你或者用Google搜索过初恋女友的名字,试图发现点什么;又或者在百无聊赖的时候搜索过一些敏感、带点“荤腥”的词汇……这一切,你不希望任何人知道,但Google知道。Google或许是这世界上最了解你的人,你的性格、爱好、习惯、怪癖……
  阅读全文
posted @ 2007-12-19 12:27 永春 阅读(328) | 评论 (0)编辑
posted @ 2007-12-18 19:01 永春 阅读(149) | 评论 (0)编辑
     摘要: 最近负责一个项目,需要结合MOSS + TFS + Project Server,有的技术以前也没接触过,肯定会遇到很多问题,在此列出项目中的问题和自己的一些感悟。
以下是第二周发现的一些问题和解决方法,采用QA的方式列出:  阅读全文
posted @ 2007-12-15 14:52 永春 阅读(1911) | 评论 (0)编辑
posted @ 2007-12-04 16:02 永春 阅读(280) | 评论 (0)编辑
posted @ 2007-12-04 14:38 永春 阅读(254) | 评论 (0)编辑
posted @ 2007-12-04 14:11 永春 阅读(201) | 评论 (0)编辑
posted @ 2007-12-04 10:33 永春 阅读(650) | 评论 (2)编辑
posted @ 2007-12-03 10:22 永春 阅读(198) | 评论 (0)编辑
posted @ 2007-11-29 17:49 永春 阅读(314) | 评论 (0)编辑
     摘要: 最近负责一个项目,需要结合MOSS + TFS + Project Server,有的技术以前也没接触过,肯定会遇到很多问题,在此列出项目中的问题和自己的一些感悟。  阅读全文
posted @ 2007-11-29 12:51 永春 阅读(571) | 评论 (0)编辑
posted @ 2007-11-29 12:46 永春 阅读(251) | 评论 (0)编辑
     摘要: 今天一个学生去面试.NET的软件工程师,面试题有这么一道:
short s=0;
s = s + 1;

short s=0;
s += 1;

这两个表达式有什么区别,会报什么错误?  阅读全文
posted @ 2007-11-28 15:22 永春 阅读(4723) | 评论 (73)编辑
     摘要: 对于求职的人来说,如果选择软件行业的话,首先选择一个好的软件公司应该是首先要考虑的方面。同时我觉得不管是求职还是创业的话,选择一个好的软件开发的类型也是很重要的。我进入软件行业也有好几年了,经历了几个不同类型的软件公司,想在这里讨论一下哪种类型的软件公司比较有发展,尤其是在中国现状的条件下。当然本人才疏学浅,本不敢谈及这么大的话题,主要想抛砖引玉,共同讨论-_-  阅读全文
posted @ 2007-11-27 11:44 永春 阅读(2247) | 评论 (10)编辑
posted @ 2007-11-22 14:17 永春 阅读(3983) | 评论 (2)编辑
     摘要: 和ASP.NET一样,MonoRail也可以方便的使用资源文件,以及利用资源文件来实现多语言的支持。
主要是利用了Resource和LocalizationFilter这两个属性,具体使用方法如下:
  阅读全文
posted @ 2007-11-21 22:05 永春 阅读(1466) | 评论 (7)编辑
     摘要: 在MonoRail中我们可以定义一些可重用的组件,在其他需要使用的页面引入这个组件就可以了。有点相当于.NET中的自定义控件,可以节约代码,方便开发,提高重用性。

在MonoRail中把这一功能叫做ViewComponent,下面就来具体看看它的使用方法:  阅读全文
posted @ 2007-11-21 14:49 永春 阅读(1998) | 评论 (8)编辑
     摘要: ViewState的使用比较简单,一两句话就可以了。
最主要的作用就是可以在当前页面保存值,ASP.NET的页面状态维护就是使用ViewState来实现的。
ViewState是ASP.NET中特有的,相对于Session来说,它保存的值只能在当前页面使用,并且保存的只能是已经序列化的类,比如.NET中的strings, integers, Booleans, arrays, ArrayList, hashtable等。
那么如何将自定义的类放入ViewState中呢,这个就涉及到如下所说的序列化的问题了:  阅读全文
posted @ 2007-11-20 17:33 永春 阅读(3534) | 评论 (16)编辑
     摘要: 我们知道在vm中可以直接使用Session、SiteRoot等,那么我们还可以使用哪些默认的系统变量呢?  阅读全文
posted @ 2007-11-07 15:40 永春 阅读(773) | 评论 (15)编辑
posted @ 2007-11-06 14:26 永春 阅读(202) | 评论 (0)编辑
     摘要: TransformFilter是用来转换用的,比如把页面所有的内容转换成大写,或把一些关键字转换成超链接。比如我们经常看到一些博客内容中的关键字都被转换成超链接了,就可以使用TransformFilter来实现。TransformFilter都是在实际渲染页面之前执行的  阅读全文
posted @ 2007-11-06 11:26 永春 阅读(490) | 评论 (5)编辑
     摘要: AJax几乎成了web2.0的一个代表,Java和Asp.net中都提供了一些AJax操作的控件。在MonoRail中也同样提供了AJax操作的共通类:AJaxHelper
AJaxHelper可以指定当文本框输入变化时调用后台代码、可以监控一个Form,当Form内控件值变化时调用后台代码、可以在点击一个按钮时调用后台代码,也可以在页面加载时就调用后台代码。当然这些调用都是采用AJax,即无刷新方式的,调用后可以自动更新页面中的一块区域的内容。
使用AJaxHelper后,几乎只要处理自己的业务逻辑就可以了,和AJax有关的代码都封装好了。下面就来看看这几种方式的使用方法:  阅读全文
posted @ 2007-11-05 18:16 永春 阅读(2318) | 评论 (10)编辑
     摘要: 在MonoRail中文件上传很简单,使用智能绑定方式后直接用HttpPostedFile类就可以进行操作了  阅读全文
posted @ 2007-11-03 16:01 永春 阅读(672) | 评论 (6)编辑
     摘要: 在Asp.net开发中的GridView功能比较强大,可以方便的进行分页等操作。
在MonoRail中也提供了方便的分页功能,只要使用PaginationHelper就可以了。当然,你如果是在数据库端进行分页的话就不是这篇笔记考虑的范围了。  阅读全文
posted @ 2007-11-02 15:02 永春 阅读(824) | 评论 (6)编辑
     摘要: 之前我转载过一篇:《Velocity 模板使用指南》中文版[转] ,这个是基于最开始的Java版下的Velocity来说的。后来在castle的.NET版下又提供了一些增强功能,详见:NVelocity Improvements
本文结合一些小例子来具体谈谈这些增强功能的使用。  阅读全文
posted @ 2007-11-02 10:31 永春 阅读(2034) | 评论 (10)编辑
posted @ 2007-11-01 17:30 永春 阅读(69) | 评论 (0)编辑
posted @ 2007-11-01 16:34 永春 阅读(533) | 评论 (2)编辑
posted @ 2007-11-01 15:00 永春 阅读(661) | 评论 (0)编辑
posted @ 2007-11-01 14:56 永春 阅读(1328) | 评论 (0)编辑
     摘要: 在Asp.net中提供了MasterPage母版页的机制,可以实行整体风格的控制
在MonoRail中同样提供了这种机制,可以方便的处理布局和一些整体风格。  阅读全文
posted @ 2007-11-01 11:23 永春 阅读(757) | 评论 (15)编辑
     摘要: Mono提供很多组件可以方便的处理页面:可以自动将后台的值填充到页面,可以自动进行Javascript验证,可以自动在后台验证等。这些功能都是比较实用的,可以减少很多开发
FormHelper是用来对应html页面中Form内的tag的,可以自动填充textbox等
ValidationHelper可以帮助我们在前台利用Javascript验证
Castle.Components.Validator组件可以在后台对页面输入值进行验证
  阅读全文
posted @ 2007-10-31 15:58 永春 阅读(2116) | 评论 (20)编辑
     摘要: 在MonoRail里面存在Url和Controller之间的对应关系(当然,这种映射关系我们也可以修改),网上也有了一些说明,但好像不太完全。我再总结一下,有遗漏的,欢迎增加:
  阅读全文
posted @ 2007-10-26 18:20 永春 阅读(1832) | 评论 (12)编辑
     摘要: Rescue是MonoRail中处理异常的一种机制
在asp.net或者java开发中我们都要进行异常处理,即发生异常时跳转到某一个错误页面。以前很多时候我们都是自动定义一种方式来处理的,在MonoRail中提供了一种现成的机制来处理异常

使用方式很简单,只要加入一个Rescue属性就可以了。
我们先来看看一个最简单的方式
  阅读全文
posted @ 2007-10-26 18:00 永春 阅读(696) | 评论 (1)编辑
posted @ 2007-10-26 17:54 永春 阅读(647) | 评论 (0)编辑
posted @ 2007-10-24 14:43 永春 阅读(1108) | 评论 (0)编辑
     摘要: 以前版本中MonoRail是不支持页面缓存的,在1.0 RC3版中加入了页面缓存的支持,有了页面缓存之后会对性能有很大的提升。
主要是通过加入了一个新的属性CacheAttribute.cs,其实后台也是同样使用了System.Web下的缓存处理的功能

使用方法很简单,如下所示:
  阅读全文
posted @ 2007-10-24 11:21 永春 阅读(1844) | 评论 (14)编辑
     摘要: MonoRail和WebForm很大的一个区别就是没有使用viewstate,不能使用WebForm中的服务器控件。
所以页面的取值、赋值都要由我们自己控制,当然MonoRail也提供了很多种页面交互的方式

下面列出我看到的一些方式,有遗漏的地方,欢迎补充。  阅读全文
posted @ 2007-10-23 10:40 永春 阅读(2798) | 评论 (25)编辑
     摘要: MonoRail中提供了Filter功能,可以在一个请求执行前或执行后执行一个特定的方法。
这样我们就这样实现统一进行用户权限判断等功能。

以下是一个简单的权限判断的演示:  阅读全文
posted @ 2007-10-22 14:24 永春 阅读(868) | 评论 (2)编辑
     摘要: 在上一篇MonoRail学习笔记四:MonoRail基本流程分析 中我提到,MonoRail中可以自定义一些服务。比如可以定义自己的Url解析类,来实现http://localhost:***/index.rails 等http://localhost:***/*.rails 的效果。
具体步骤如下:  阅读全文
posted @ 2007-10-22 10:07 永春 阅读(2257) | 评论 (9)编辑
     摘要: MOSS是微软的一个门户等的产品,提供了很多SDK供调用
在此记录我学习的过程,作为自己的一个总结。(本系列会不断更新)  阅读全文
posted @ 2007-10-19 16:52 永春 阅读(1647) | 评论 (2)编辑
     摘要: MonoRail是一个.Net下的MVC框架,使用起来方便、灵活。 在此记录我学习的过程,作为自己的一个总结。 一方面学习MonoRail的使用,另一方面可以研究成熟的框架是如何设计的,有哪些思想、功能是可以借鉴的  阅读全文
posted @ 2007-10-19 16:46 永春 阅读(3417) | 评论 (16)编辑
     摘要: 主要分析MonoRail框架内主要的几个类之间的调用关系,特别是分析一下当我们在浏览器中输入一个链接时,后台是怎么调用的,直至最后显示出页面的一个大体流程。
了解之后我们也可以知道哪一部分是可以由我们改造的。

从以上分析可以看出MonoRail的设计是很灵活的,很多思想可以借鉴的,  阅读全文
posted @ 2007-10-19 16:24 永春 阅读(2909) | 评论 (10)编辑
posted @ 2007-10-19 13:19 永春 阅读(190) | 评论 (0)编辑
posted @ 2007-10-18 14:29 永春 阅读(94) | 评论 (0)编辑
posted @ 2007-10-18 14:24 永春 阅读(121) | 评论 (0)编辑
posted @ 2007-10-18 14:22 永春 阅读(140) | 评论 (0)编辑
     摘要: 我们浏览论坛或博客时经常会看到这样的Url:http://www.cnblogs.com/firstyi/archive/2007/10/17/927967.html (这个是博客园中的一个链接),其实实际上是不存在927967.html这个文件的,都是通过routing进行转义的

那么在MonoRail中我们可以方便的实现此功能。  阅读全文
posted @ 2007-10-18 11:02 永春 阅读(1393) | 评论 (11)编辑
     摘要: 可能最近很多人都听说了微软要推出MVC的框架,关注MonoRail的人也多了起来。
想学习MonoRail的人应该也不少,但是埋头拉车,更要抬头看路,我们为什么要学习MonoRail呢?

我自己到现在还摇摆不定,以下是我个人的一点看法,欢迎大家讨论。  阅读全文
posted @ 2007-10-17 18:20 永春 阅读(3782) | 评论 (43)编辑
posted @ 2007-10-17 14:34 永春 阅读(437) | 评论 (0)编辑
     摘要: 为了更好的学习MonoRail,我准备下载MonoRail的源代码看看。

先从http://www.castleproject.org/castle/download.html 下了一个源代码,结果编译时很多东西找不到,比如缺少Castle.Components.Binder包  阅读全文
posted @ 2007-10-17 13:50 永春 阅读(1458) | 评论 (8)编辑