04 2007 档案

摘要: 有好久一段时间,我经常使用.net 1.1开发程序,发现.net 1.1缺少类似c++中的模板功能。这种支持类型参数的功能可以使我们设计一个有泛型的类,在运行时检测实际的类型。

这样意味着用一个泛型参数T,你可以写一个MyList类,在使用MyList, MyList 或 MyList时不需要担心在运行时进行转换或装箱操作。

.NET 2.0引入了一个新的名字空间 System.Collections.Generic,他包括了支持泛型的类,例如:List, Queue, Stack, LinkedList。利用他们可以使你的程序更加有效率。阅读全文
posted @ 2007-04-15 14:31 jecray 阅读(147) | 评论 (0) 编辑
摘要: 在项目经常会遇到这么一种情况,要在弹出的窗口里面修改父页面中的数据。本文以模式窗口为例,说明如何在更新模式窗口页面之后刷新父窗口的内容。
在一般的情况下,模式窗口的关闭并不会刷新父窗口,我们需要在打开模式窗口的javascript中添加额外的脚本来刷新他的父窗口。阅读全文
posted @ 2007-04-15 14:31 jecray 阅读(1499) | 评论 (0) 编辑
摘要: 有时候为了美观和直观经常需要这样自动编号的列
下面提供了2种实现方式阅读全文
posted @ 2007-04-15 14:30 jecray 阅读(147) | 评论 (0) 编辑
摘要: 介绍如何在页面中使用Ado.net事务阅读全文
posted @ 2007-04-15 14:30 jecray 阅读(216) | 评论 (0) 编辑
摘要: 使用window.showModalDialog进行信息的提示,相当方便,也容易控制外观和布局。但是存在一个严重的问题,就是Session丢失。当在A页面进行showModalDialog时,弹出的模态窗口open新页面或new dialog()时,会得不到A页面中的Session,这样就严重地限制了他的使用范围。阅读全文
posted @ 2007-04-15 14:29 jecray 阅读(800) | 评论 (2) 编辑
摘要: 什么是ViewState?viewstate是如何工作的? 启用和禁止ViewState 性能问题 安全问题 viewstate容易出错的地方阅读全文
posted @ 2007-04-15 14:28 jecray 阅读(355) | 评论 (0) 编辑
摘要: 在asp.net中时常需要调用js代码,如果js写在asp.net中,一般是不会出现乱码的问题。因为他们具有相同的编码。
如果需要引用外部的javascript代码就会有乱码的风险了。一般情况下Asp.net和Javascript的页面编码不是GB2312就是Utf-8 ,如果两者的编码不一致就会产生乱码。解决方法就是想两者的编码进行统一。
由于一般情况下Asp.net接受发送请求的编码是Utf-8的,javascript编码默认是Gb2312,故容易出现问题。阅读全文
posted @ 2007-04-15 14:28 jecray 阅读(355) | 评论 (0) 编辑
摘要: 下面的图片直观的解释了DIV ,Body的各种定位属性 如offsetWidth,clientWidth,scrollHeight等
看了这幅图片就会对布局定位有很清晰的认识阅读全文
posted @ 2007-04-15 14:27 jecray 阅读(164) | 评论 (0) 编辑
摘要: c#中的委托像c/c++中的函数指针.一个多重委托可以订阅多个方法.一个委托可以在用来调用函数,具体调用哪个函数在运行的时候被确定.
委托是c#中类型安全的,可以订阅一个或多个具有相同签名方法的 函数指针.委托在c#中是引用类型.委托的必须和所指向的方法具有相同的签名.
C#在System名字空间有个Delegate类,他提供了对委托的支持.委托有两种类型:单一委托和多重委托
单一委托只能订阅一个方法,而多重委托可以订阅多个具有相同签名的方法.阅读全文
posted @ 2007-04-15 14:27 jecray 阅读(130) | 评论 (0) 编辑
摘要: 平时我们都是用IIS服务器或Apache,这些都是相当成熟 功能强大的web服务器。是否好奇一个web服务器是如何编写出来的呢?下面这篇文章就是表述了如何用最少的代码创建一个简单的web服务器。阅读全文
posted @ 2007-04-15 14:26 jecray 阅读(182) | 评论 (0) 编辑
摘要: vs2005已经实现了Iterator类型,但是2003中只有简单的IEnumerator。不能将声明iterator为IEnumerator类型,否则会出问题。IEnumerator提供的Current,MoveNext,Reset并不好用。Java中的hasNext,next方法易用多了。另外要把java程序转换成C#版的时候,最好模拟一个java迭代器,这样工作量会少很多。阅读全文
posted @ 2007-04-15 14:26 jecray 阅读(72) | 评论 (0) 编辑
摘要: 功能的发起者一家IT技能培训机构,付费给mojoportal的作者开发的。阅读全文
posted @ 2007-04-15 14:25 jecray 阅读(797) | 评论 (0) 编辑
摘要: web版MSNtoGoogleTools 暂时放在:http://web17637.s17.webcontrol.cn/index.aspx 自己的.net空间已经过期了,只好采取临时试用的方式来放程序.
windows application 版本(需要.net 1.1支持) 下载地址:http://jecyang.googlepages.com/MSNtoGoogleTools.rar.rar 阅读全文
posted @ 2007-04-15 14:24 jecray 阅读(167) | 评论 (0) 编辑
摘要: 用Vs.net 2003时常会出现事件丢失,属性丢失等情况。可视化编程变得有些不稳定而且不令人放心。比如说用Anthem控件,明明IDE里面显示 AutoCallBall属性为true,但并非如此,需要在在代码中手动给属性赋值。在涉及到事件,属性的还是代码来的准,可视化不可靠。阅读全文
posted @ 2007-04-15 14:24 jecray 阅读(54) | 评论 (0) 编辑
摘要: XML-RPC.NET是.net环境下的一个类库,他实现了XML-RPC服务器端和客户端.支持.net framework 1.1和2.0 而且是开源的.于是下载了该组件,从http://www.xml-rpc.net/可以得到他.解压缩后可以找到CookComputing.XmlRpc.dll,是for .net1.1的. 下面开始解决代理服务器的难题了,还好网上关于在.net中网络连接设置代理服务器的文章比较多.于是顺利解决了这个难题.就几行代码就搞定了阅读全文
posted @ 2007-04-15 14:23 jecray 阅读(976) | 评论 (0) 编辑
摘要: MSNtoGoogleTools 主要包含两个版本,都是基于.net平台 一个是web版 一个是application版前者需要服务器空间支持 后者需要客户端有.net framework 1.1 . application版支持代理服务器功能,这就意味着在公司内通过代理服务器上网的机器也能顺利运行,只需要设置代理服务器,用户名和密码.阅读全文
posted @ 2007-04-15 14:22 jecray 阅读(53) | 评论 (0) 编辑
摘要: mojoPortal是一个开源的网站框架,用C#编写运行在Windows的 .net framework或Linux,Mac OS的Mono平台上。
具有以下特点:
Xhtml 内容管理个性化的MyPage运用WebParts实现
Blogs,Forms,事件日历,相册,文件管理器
利用活动目录,OpenLDAP或DataBase进行授权
支持多种数据库如:MSSQL,MySQL,PostgreSQL和SQLite
皮肤,RSS,多站点,支持IE,FF,多国语言支持(目前不支持中文)阅读全文
posted @ 2007-04-15 14:22 jecray 阅读(1341) | 评论 (2) 编辑
摘要: 强名称是一项在.net平台上的技术,它是来源于数字签名。数字签名的核心是非对称加密(RSA,EL Gamal)和Hash算法(MD5,SHA)。
利用sn.exe可以创建强名称的程序集阅读全文
posted @ 2007-04-15 14:20 jecray 阅读(722) | 评论 (0) 编辑
摘要: 1.在http://developer.novell.com/wiki/index.php/Mojoportal下载源文件mojoportal-2-2-1-6-1-sourcecode.zip
2.解压后README.VisualStudio2005.txt文件有详细的安装介绍。
如果出现 Project type is not supported by this installation,安装WebApplicationProjectSetup.msi就解决了。
3.创建虚拟站点,配置好数据库就可以看到初始化数据的网站界面。网站首页很简朴啊。阅读全文
posted @ 2007-04-15 14:20 jecray 阅读(1094) | 评论 (0) 编辑
摘要: 当每个开发者创建全球化的产品和程序时,全球化和本地化是两个重要的步骤.阅读全文
posted @ 2007-04-15 14:20 jecray 阅读(147) | 评论 (0) 编辑
摘要: 主题用来为web页面定义视觉样式.主题有一系列元素组成:skins,Css,images还有其他资源.主体可以应用在程序,页面或服务器控件级别.
我们可以创建主题通过在解决方案中添加App_Themes文件夹.我们也可以通过添加skin文件达到目的.阅读全文
posted @ 2007-04-15 14:18 jecray 阅读(152) | 评论 (0) 编辑
摘要: Log4net是一个开源的组件.可以使.net程序记录日志并输出成各种格式.阅读全文
posted @ 2007-04-15 14:18 jecray 阅读(406) | 评论 (0) 编辑
摘要: 发邮件是非常简单的,不管用System.web.mail [ASP.NET 1.1]或System.Net.mail [ASP.NET 2.0],但是还是有其他第三方组件可以被使用,比如DotNetOpenMail.他可以使你用最少的代码创建文本,html和带附件的邮件通过 smtp服务器发送.阅读全文
posted @ 2007-04-15 14:17 jecray 阅读(710) | 评论 (0) 编辑
摘要: 1.添加引用lucene.net dll和名字空间
2.在page load事件中声明保存索引文件的路径.程序会在页面生存周期内记住文件的路径.然后调用IndexBuilt和Search函数来实现查询.
3.IndexBuilt函数的内容.他将递归的添加文件夹.然后索引目录信息
4.search函数阅读全文
posted @ 2007-04-15 14:16 jecray 阅读(291) | 评论 (2) 编辑
摘要: SharpZipLib是一个开源的用C#编写的Zip,GZip,Tar and BZip2库,用于C#的开发.可以在http://www.icsharpcode.net/OpenSource/SharpZipLib/得到.阅读全文
posted @ 2007-04-15 14:14 jecray 阅读(623) | 评论 (1) 编辑
摘要: Subversion是一个开源的版本控制工具,这意味这你可用免费的使用它.
安装Subversion是非常容易的,可以从website得到.在这篇文章里,使用windows版本的svn-1.3.0-setup.exe阅读全文
posted @ 2007-04-15 14:14 jecray 阅读(121) | 评论 (0) 编辑
摘要: HTTP Modules是一个程序集,对程序的每个请求时,都会调用它.HTTP Modules是asp.net请求管道的一部分,且在能在请求的整个生命周期里存取事件.因此HTTP Modules给你一个检查到达请求和采取行动的机会.他们也提供了检查外来请求和修改请求的机会.
asp.net HTTP Modules和ISAPI过滤器很像,他们都可获得所有请求.然而,他们是用托管代码编写且完全集成在asp.net程序的生命周期里. 阅读全文
posted @ 2007-04-15 14:13 jecray 阅读(97) | 评论 (0) 编辑
摘要: 1 在windows xp下配置IIS
2 安装visual studio.net 2003
3 配置Apache 2.0
4 配置Subsersion
5.让apache识别subversion仓库
6 设置TortoiseSVN
7 用TortoiseSVN创建subversion阅读全文
posted @ 2007-04-15 14:13 jecray 阅读(430) | 评论 (0) 编辑
摘要: asp.net http handlers是在对程序请求进行响应时的处理进行.最常见的handler是处理.aspx文件的asp.net page handler.当用户请求一个.aspx文件,这个请求被page handler处理.
page handler仅仅是handler的一种.asp.net还有其他内建handler如web service handler是处理.asmx文件的
当你想要处理特定扩展名的文件时,可以创建自定义的http handler.阅读全文
posted @ 2007-04-15 14:12 jecray 阅读(84) | 评论 (0) 编辑
摘要: mojoportal可以支持多个数据库,通过web.config来配置.这里我们用访问Sqlserver数据库为例.对数据库的访问一共用到了两个文件,他们是静态类,方法也是静态的.阅读全文
posted @ 2007-04-15 14:12 jecray 阅读(559) | 评论 (1) 编辑
摘要: mojoportal包含了几个简单方便的自定义控件。你可以用他们来创建自己的自定义控件。阅读全文
posted @ 2007-04-15 14:09 jecray 阅读(482) | 评论 (0) 编辑
摘要: 在mojoprotal 中定义了IIndexableContent接口,这个接口只包好一个自定义的事件ContentChangedEventHandler。 HtmlContent,CalendarEvent,Blog,SharedFile,Link,GalleryImage,ForumThread类都实现了该接口,作用是用来索引内容,方便搜索。
下面以对blog内容的删除为例,解释其中的事件和委托是如何工作的。在mojoPortal.Business中定义ContentChangedEventHandler委托和自定义事件参数。阅读全文
posted @ 2007-04-15 14:09 jecray 阅读(254) | 评论 (0) 编辑
摘要: layout.Master是一个ASP.NET MasterPage,是所有内容管理系统页面的模版。站点每个页面的标签都要包含在这个文件中。阅读全文
posted @ 2007-04-15 14:08 jecray 阅读(395) | 评论 (2) 编辑
摘要: 从今天起开始进行Varshop的项目的开发,PM给我讲了2个多小时的项目介绍。接着就要编写日程,创建原型,进行编码和测试。阅读全文
posted @ 2007-04-15 14:08 jecray 阅读(66) | 评论 (0) 编辑
摘要: 首先把varshop做完,这是一个对现有网上商城进行功能加强的系统,总体感觉来说还是不困难的,框架已经有了,页面不需要设计,主要实现业务逻辑和Ajax显示数据。阅读全文
posted @ 2007-04-15 14:07 jecray 阅读(110) | 评论 (0) 编辑
摘要: 一、开题报告
(一) 选题的意义及国内外研究状况评述
在计算机领域,国外开源软件取得了蓬勃发展,已经拥有大量的开发人员,开源项目和开源公司。许多开源软件的功能性,可复用性和安全性等都满足了大部分的需求。最好的例子就是Linux,它是一个公开了源代码类Unix系统,已经在全世界的服务器市场上和许多大公司的产品分庭抗礼,且日趋上风。然而我们国家的软件业发展比较落后,软件开发长期以来处于封闭状态,不能有效的利用已有代码和资源,造成了低水平的代码重复开发,软件企业和研发机构规模较小。仅仅依靠国内的资金和人才达到赶超美国这样的软件大国的目的,是基本上不可能的。Tim O'Reilly 先生曾说过一句名言:“开源软件是计算机工业最宝贵的财富”,开源软件可以使每个从事软件事业的人从中获得巨大的收益——我们要站在巨人的肩膀上。要提升国内软件业的开发和创新能力,充分利用开放源代码软件具有重要的意义。我们合理的学习开源软件并利用其创建符合用户需求的软件是完全可能和具有影响意义的。阅读全文
posted @ 2007-04-15 14:06 jecray 阅读(252) | 评论 (0) 编辑
摘要: 写个有点复杂的Jobs---连接远程机器数据库 在同个域中或相同的网段中阅读全文
posted @ 2007-04-15 14:06 jecray 阅读(229) | 评论 (0) 编辑
摘要: 用anthem.net 框架来开发无刷新系统,相当容易,他的控件多了autoCallback和UpdateAfterCallBack属性。前者相当于 autoPostBack,后者使用在服务器段代码中,使控件无刷新更新自己的状态。用了这套控件后就不好调试了,需要手动跟踪代码。

写存储过程时,在拼凑sql语句时容易出现错误,在sqlserver中没有通用的转义字符,在字符串的处理中需要转义的也只有单引号,输入两个单引号就转义成一个了,当SET QUOTED_IDENTIFIER OFF时,"是字符串边界符,字符串中的"必须用两个"表示。字符串不能和日期时间类型之间相加,需要用convert()函数将日期时间型转换为字符串。阅读全文
posted @ 2007-04-15 14:06 jecray 阅读(104) | 评论 (0) 编辑
摘要: 借助网上资料的帮助,终于解决了这个问题,不容易啊。总结一下。(所有操作都在xp服务器上执行)
运行环境:一台运行在Xp下的sqlserver 2000服务器,一台运行在2000 server上的sqlserver 2000服务器,两台服务器在同一个域中。
目的:在xp的数据库服务器上执行带有分布式事务的Job阅读全文
posted @ 2007-04-15 14:05 jecray 阅读(151) | 评论 (0) 编辑
摘要: 这两天都在弄sqlserver的T-sql,毕竟还是脚本,连内置的数组都没有。由于项目需求要进行同个域中的两台sqlserver服务器之间的数据操作,要使用分布式事务来防止意外。可是不能成功执行,不过在csdn上发现一篇可能有帮助的文章。阅读全文
posted @ 2007-04-15 14:05 jecray 阅读(67) | 评论 (0) 编辑
摘要: 用asp.net不好实现实时的无刷新进度条,服务器控件中的代码里面不能直接调用Js代码,只能通过控件本身的事件来触发js函数。用原生的xmlhttp容易判断页面是否加载完毕,不过要实现复杂的逻辑就麻烦了。
今天看到一个构思巧妙的无刷新的Loading页面,javascript的威力真是大。阅读全文
posted @ 2007-04-15 14:04 jecray 阅读(1557) | 评论 (2) 编辑
摘要: 下午被数据库搞的莫名奇妙,总是出现如下错误:Syntax error converting the nvarchar value to a column of data type int 最后发现原因是在存储过程中return的值只能是简单类型int型,浪费了不少时间,现在把自己的遇到的知识总结下:
1.在存储过程中执行带output型的存储过程 在sqlserver自带的sp dbo.dt_displayoaerror中有示例
2.在数据库中,未赋值是null, 他和 '' 是不同的,不像一些语言会给字符型变量赋值为空. 因此对于为null的变量要通过 @temp=null来判断,或者用isnull函数.
3.关于存储过程的Return value和Output value.return值只能是数字型,但如果一个nvarchar类型的变量,且该变量中是数字可以隐式地转换为数字时,那么他将可以作为return值.同理,其他类型变量也一样.阅读全文
posted @ 2007-04-15 14:04 jecray 阅读(81) | 评论 (0) 编辑
摘要: Anthem.Net真是个好东西,不但开源而且使用简单,可以便捷地创建各种Ajax应用。
需要的代码量很少,首先在控件的服务器事件中写入逻辑,然后添加一句控件ID.UpdateAfterCallBack = true;就可以自动回调更新这个控件了。还对有AutoPostBack属性的控件提供AutoCallBack属性。有了这两个属性,于是控件具有了无刷新更新和传递数据的功能。
Anthem.Net还提供了Anthem.Manager.AddScriptForClientSideEval()方法,可以随时随地在服务器端执行javascript函数,这个方法的作用是巨大的。阅读全文
posted @ 2007-04-15 14:03 jecray 阅读(753) | 评论 (0) 编辑
摘要: 格式化字符串
DataFormatString="{0:P}" //自动转换为百分数
DataFormatString="{0:#.##}"//保留两位小数
在DataGrid里面查找控件
databound事件中使用e.Item.Cells[i].Controls[j] ,e.Item.FindControl(""))
ItemCommand事件中同上 或者使用DataGrid1.Items[0].Cells[0].Controls[0]); 注意都要强制转换制定控件类型.
e.Item.Cells[0].Text只能取到boundcolumn的值,且在ItemCommand里面取不到值. 阅读全文
posted @ 2007-04-15 14:03 jecray 阅读(243) | 评论 (0) 编辑
摘要: 1.所有人都兴奋的认为,webapps可以运行在每种平台,而且可以一次对所有的用户升级。但是实际上不是,我们都是要对不同的浏览器进行不同代码响应。即使代码像那样,为了支持调用,还需要知道用户是否启用了javascript,不要阻止弹出来的窗口等等
2.个性化的东西太少了 也许为了代码的重用,我们看到太多相同的组件在不同的站点中使用,但是如果运行winforms apps ,似乎每个人都有一个自定义的按钮。
3.和桌面的集成性很差 你不能从桌面拖一个文件到web程序上且他会为你上传。google doc也是先在本地的硬盘上保存下来,然后上传。如果没有硬盘只有网络便没法写doc了。阅读全文
posted @ 2007-04-15 14:01 jecray 阅读(42) | 评论 (0) 编辑
摘要: 环境:windows server 2003 ; VMware5.5.2 Fedora6物理网卡(外网)ip:192.168.121.157 DNS:202.114.224.1目的:使在虚拟机中的fedora可以上网思路:使用server 2003自带的路由和远程访问服务实现共享上网阅读全文
posted @ 2007-04-15 14:00 jecray 阅读(515) | 评论 (0) 编辑
摘要: 排序问题的种类繁多,因此相应的算法也是层出不穷,现在介绍下几种常用的算法。阅读全文
posted @ 2007-04-15 13:59 jecray 阅读(330) | 评论 (0) 编辑
摘要: 我的专业是信息管理与信息系统,本科毕业拿到的学位竟然是管理学学士,感觉有点不伦不类,直到大三才知道我们系的名称叫 经济信息管理系。。。。阅读全文
posted @ 2007-04-15 13:57 jecray 阅读(240) | 评论 (3) 编辑
摘要: 前一段时间图书馆里面借来这么一本书,感觉和我们专业有关(信息嘛),而且是理论方面的,好东西要多看看。

纯理论的一本书,里面充斥着文字和数学符号,这就是高深书籍的代表特征。

由于信息科学的崛起,出现了以物质、能量和信息为中心观念的现代科学,信息科学的概念超越了自然科学的边界,向社会科学的各个领域广泛渗透,成为一门新兴的交叉科学。
阅读全文
posted @ 2007-04-15 13:52 jecray 阅读(299) | 评论 (1) 编辑