www.dotNETTools.org

 .NET打开Windows的窗,用Tools打开Programmers的门--小气的神
     
 

.NET Tools Resource ?
Check out  
我的.NET Tools 页面  |  我的文   资源和代码下载  .NET Webloger 列表   .NET设计模式 

 
     
 

Visual SlickEdit  使用和 IE Web Control

 
 

 

ZDNET文章----三种必需的嵌入式开发工具---Read it

 

不错的文章,我从中选定了一个工具Visual SlickEdit,以前隐隐约约听说过,但是没有使用过,今天专门的去网站Download了一个,试了一下功能,本来已经有了Visual Studio.NET,还需要SlickEdit吗?后面我告诉你使用它的原因。

 

首先是非常看重VSEVS.NET类似的语法自动完成,所以特别试一试这个功能,但是似乎两者的功能和术语完全不一样。VSE中叫Tag,我安装完成后打开或建立一个C#的项目,当我按下Console.的那个.的时候,VSE开始自动的搜寻System.DLL,经过一个进度条的显示,证明VSE已经开始Generate References之后也会像VSNET中一样的显示函数名、参数速度也和可以,就是没有VS.NET中那么智能。

 

 

 

 

但默认的是Framework 1.0的信息,我估计是查了Path或注册表中设置,VSE默认找到的,我希望是使用Framework1.1 的,所以想自己定制一些,找了老半天又看了一遍文档,还是模模糊糊,概念明白了,但是实际操作和文档上将的全不一样。

增加新的,你需要在Class视图中点击右键,当看到Tag files…. 时就可以弹出Tag Files的对话框,然后你可以将原来的全部删除也可以加一个新的Tag文件,这样就可以选择Framework 1.1 的路径给VSE,这样经过刚刚类似的步骤,你可以获得新的基于Framework1.1Reference

 

 

 

我想你应该猜到我探询VSE的另外一个原因了,那就是照顾最新的Framework1.2,因为目前没有最新的Visual Studio.NET 出来,所以寻找一个新的代码编辑工具是非常有必要的。过几日我会试一下,看VSE能否使用FX1.2 的程序集,并且能很好的在这个平台上工作,如果有新发展我也会继续的进行更新。

 

前些天,同事安装起CMS 2002,但是非常有趣的是,安装文件需要IE Web Control,先是他不知道这个东东是什么,我帮他找了一个,然后发现现在只能找到源代码的版本,没有二进制的了,帮忙编译了一个给他,但是安装时,又发现没有强名,无法安装,够折腾的。之后两个人在网上搞了好几天,昨天见面,他告诉我真是费力,原来安装盘上就有这个安装文件,昏倒!!,这些天他正在努力的将CMS 2002安装在Framework1.1下面,因为没有打 CMS 2K2 SP1之前他只能用Visaul Studio.NET 上,现在他要使用Visual Studio.NET 2003,因为同时他还使用的SPS 2003 ?%&^@#

IE Web Control 二进制安装包Downlaod----- Source Download ----home page

 

另外之前提到的Quick connection String Generator,网站上没有Download的,有人发Mail说需要这个小工具,我已经将它Upload到我的网站上,你可以在这里获得它

 

非常有趣而恶作剧的一个Mail,一个叫大气的神的人给小气的神的Email,我想他绝对比我大气一点,但是也不用冒充比尔盖茨写这封Mail

好吧,我就尽快地更新,首富我是没想过,但是耽误你一千多万真是不好意思 。如你所言,今日事,今日毕。开心也说,我的网站快了点,但是我保证我决定没有拿别人的内存和硬盘。每个Blogger都要做好这样的准备,因为Host在别人的主机上,就可能会发生停机和转移的问题,这是磨练你的忍耐力J

 

发件人 :<billgates@microsoft.com> 

收件人 :<new2001@msn.com> 

主题 : 你是小气的神?俺是大气的神:D (via 小气的神

日期 : Sat, 30 Aug 2003 13:07:22 +0800 

来自小气的神:

 

姓名: 比尔·盖茨

邮件: billgates@microsoft.com

IP: 211.136.72.121

=====================================

俺是世界首富,俺想通知你,你的Blog好久没有更新了,为什么不更新呢?

今日事,今日毕。

俺写这封信耽误了俺赚一千多万美金呀,你要赔俺呀。

BTW:俺偷窥你好久了,俺崇拜你,下一届世界首富非你莫属了。

 

 
 

Time: 31 Aug 2003 - 01:18:34 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

Whidbey, Yukon, and Longhorn -- PDC Pre-Game Show

 
 

 

Lutz Roeder's Weblog 总是简单的像一个更新日志,除了最新的Reflector for .NET 3.31还有一个新的软件 – Writer 一个非常简单的所见即所得的HTML编辑器,对于那些自己要写WebLog Client的家伙可能会有用了,网上Web版本的就很多,但是Windows版本for .NET的就不多,BlogX中带的那个,粗糙而且看起来负责,这个可以试试。

Writer is a simple WYSIWYG editor for HTML files. The program allows you to edit HTML files using simple editing functionality like Undo, Redo, Cut, Copy, Paste, Find, Replace. Writer also supports text layout and formatting, hyperlink editing and insertion of dates and pictures.

Note: Writer is now a community project. Join the Writer development team at GotDotNet. Bugs can be entered to the workspace bug tracker.

Writer.zip - Writer, Version 0.2 (Test Release)

 

最快最新的产品信息,这些家伙难道不用遵守NDAs协议吗?---还不快去看看

Whidbey, Yukon, and Longhorn -- PDC Pre-Game Show ---ppt slides(3M)

SQL Server 'Yukon': Developing Real-Time Business Intelligence ---download

.NET Magazine 专栏 Get Ready for Yukon

 

Sells Brother新书的代码Download—全是关于WinForm. Read and Download

This page is dedicated to my WinForms book, available from Addison-Wesley in two languages, Windows Forms Programming in C# (shipping now) and Windows Forms Programming in VB.NET (to be shipped at the PDC).

 

Microsoft Producer Final RC for PowerPoint 2003 Readme and Download

PowerPoint打包工具,一直都是免费的,但看来Office 2003 真的已经准备就绪了。

 

.NET Solution Build & Deployment Process & Tools – Download

Pop mail counter Beta – Download  ---- from Bink.nu

 

Microsoft.com Web Services SDK --- Read and download

The Microsoft.com Web Service is an XML Web service that will enable you to integrate information and services from MSDN, Technet, other Microsoft.com sites, and Microsoft Support. As a way to test the new architecture, we present version 1.0 of the Microsoft.com Web Service, which allows you to integrate information about the Microsoft.com top downloads. Future releases will build on this architecture to provide access to a broader variety of Microsoft content and services. 

WebServices 变得越来越美好了,两年前这曾是人们的梦想,集成其他网站的内容,今天看来这个目标越来越接近了。

 

Application Signature Builder 1.0 –Read and Downlaod

The Application Signature Builder (ASB) tool is used by software vendors and IT professionals to generate a Signature File containing file attribute information that allows Microsoft to discretely identify the program (executable) files added to a Microsoft?Windows?-based system when a particular version of a software application is installed.

 

IE 6 SP2即将到来?

有关微软IE浏览器的新闻总是让人猜测,首先是官司为果,还不知道是否要修改代码

今天有人在网上已经说Internet Explorer 6 SP2 soon,其最大的理由是微软近期的一个KB(822071)中提到了一个Bug将在IE 6的下一个SP中修正,那么不就是IE6 SP2快要出了吗J

 

报纸上普天盖地的火星照片都不可避免地非常相似于美国哈勃望远镜拍摄的这张图片,据称这是史上拍摄的最好的一张火星全球照片。---From 中国数字部落
 

 
 

Time: 30 Aug 2003 - 04:33:34 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

熊熊的WebLog和他的故事

 
 

 

熊熊的WebLog和他的故事

人的一生中都会有一些非常要好的朋友,也许说朋友并不能表示我的想法,他们和你年纪相仿也许比你大一岁,也许比你小一岁,总之你们这一生像有缘的一样相约在某个你们并不知道的人生驿站中,生命中的某一天你们在同一站相遇,而之后的日子将是你生命中非常快乐而珍贵的时光,也许你们会在某一个驿站分开或转折,但这种在一起的交情、友谊、关系和记忆将永远陪伴着你,我始终认为这些都是我的财富,而能遇到这些人是我的幸运。

 

熊熊应该算是一个,昨天我们在MSN上遇到,我在Download他估计在更新他的WebLog。他属于说话不多偏内向性的人,总之不像那时我在项目组中那么咋咋呼呼,是我喜欢的那种Partner,无论编程、做项目我都喜欢和他这样人在一起。他有广东人的实在和肯干,经常是我比较偷懒,CodingDesign完成就给熊熊,让他帮忙TestingReview,结果总是错误一大堆,文档上也是许多没有考虑到,他总是会修复了这些Bug或是和我一起讨论忽视的问题,事实上他的耐心给我最大的信心和安静,编程除错的过程是一个享受挫折的过程,而这个过程中熊熊对我的帮助是最大的。

 

雄雄的这种好的个性也发挥到项目和团队活动中,经常是我跟项目中的其他人吵得脸红脖子粗或是推行某个制度做法不利而触动到某个Team时,熊熊总是能帮我收拾残局,他很有耐心,性格也没有我那么急躁,所以总是能和别人沟通和达成一些协定;事实上,一个项目中必然有争吵和冲突,但熊熊利用自己性格中优点在很多时候舒缓和平衡了这种对抗和冲突的热度。

 

另外我记不得有多少次我们有在同一战壕工作的故事,熊熊的家离我们工作和客户的地方非常远,但我几乎没有一次能和熊熊一样,能在第二天还准时的来到公司;无论是作为下属和领导,熊熊从来没有抱怨过工作辛苦,加班过多没有加班费的现实。项目中往往有一种人能够显示力量,鼓动整个团队前进;但也有一种人是让别人在精疲力竭时可以从他那里获得力量。

 

就这样我们一伙人共同工作了两年,其间熊熊也是有时离开,又回来离开有回到我们的团队;离开之后的日子,我也曾经常想起我们的团队和其中的许多故事,他的存在让我对于什么是一个团队,一个团队中有哪些性格和技能的人?这样的问题更加有体会和经验,我会更能区分技术和做人之间差异和相互作用,这使得我以后再做任何的项目的第一件事,是考虑我的团队的架构而不是使用什么技术和程序的架构。

 

尽管这是非常宝贵和正确的道理,但是我认为如果用两年时间来懂得这个道理和遇见熊熊这样的挚友相比,我更珍惜和熊熊一起工作的日子,理论永远比不上实践,Slide无论多么鲜活光彩,总也比上朋友那么真挚感人,不然的话我也不用在WebLog上这么无限美好的回忆了J

 

 
 

Time: 29 Aug 2003 - 02:15:42 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

非程序员WebLog

 
 

 

一直是作为一个程序员的角度在做WebLog,下午花了三个小时在一些非程序员的WebLog上转了转了,非常非常的有趣,许多WebLog都是一些做媒体和杂志的小编和老记们的杰作,文笔和构想绝对有原创精神,开始时从广州的WebLog开始,因为看起来熟悉,最后渐渐发现这像另外一个网一样,大家原来是连在一起的,也感到WebLog在中国必将掀起另外一个潮流,数量真的让人感觉到力量。

想起不久前博客中国的方某人对BlogCN的数字感到怀疑,今天更感觉BlogCNBlogChina要好,BlogCN更像一个Blog,比起方某人的大叹特怨,BlogCN为中国Blog做的更多,也更加没有看中和标榜自己这一点,尽管有些人还看不起BlogCN,说它是一个高中生写和维护的,但是两者立意不同,一个是为名,一个为兴趣。BlogCN一路快走,祝福你越办越好。

 

搞笑短信:

还记得那年在树下军训吗?教练对同学们说:“第一排报数!”你惊讶地看着教练,教练又大声说了一便:“报数!”于是,你极不情愿地转过身去抱住了树!

 

某日刘洪涛遇到外宾,上前搭话曰:i am hong taoliu,外宾曰:我他妈还是方片七呢!

 

那天我看见你了,在超市!你悄悄的把手伸到条码扫描器上,只见屏幕显示:猪蹄8元。你以为机器坏了,把脸凑过去看,屏幕显示猪头肉5元!

 

Google

Google会定时检索并更新所有网站;对于失效网页则将其删除。如果您想尽快登录Google,可以连接以下地址进行登录您的网站: http://www.google.com/intl/zh-CN/addurl.html

Google网页目录登录连接地址: http://www.google.com/dirhp?hl=zh-CN

 

没经过这些Blogger的同意,我摘了一些,不算推荐只表示看过还不错。

 

http://www.blogcn.com/blog/?u=buhui  老女人单身日记

http://www.blogcn.com/blog/?u=eclecticblue  没办法,就是崇拜!

http://www.blogcn.com/blog/?u=handhold  我欲射雁,念子孤散

http://www.blogcn.com/blog/?u=camille 朦胧酒家

http://www.blogcn.com/user/olive_blue/  深蓝色~来自我心

http://www.blogcn.com/blog/?u=magnovich  麦格诺维奇:反抽屉原则

http://www.blogcn.com/blog/?u=elppa 苹果细路女

http://www.blogcn.com/blog/?u=wasa  殳俏的酥油可乐制造厂

http://www.blogcn.com/blog/?u=sumei 苏眉的小公馆

http://www.blogcn.com/blog/?u=bluejanuary  闪身而过

http://www.blogcn.com/blog/?u=chris  幸福生活的大Chris in Shanghai

http://www.blogcn.com/blog/?u=lavenderic  幸福城堡的小Chris in Chengdu

http://vincent.com.cn/  北京印象

http://www.blogcn.com/blog/?u=flora  你还是不懂我在爱你

http://happilyaching.rediffblogs.com/  痛并快乐着

http://www.blogcn.com/blog/?u=bjlr  北京丽人

http://www.blogcn.com/blog/?u=emiller  羊男的自由空间

http://www.blogcn.com/blog/?u=katrina  忽然记 --有一种飞翔,不需要翅膀。

 

 

 
 

Time: 28 Aug 2003 - 22:35:25 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

收缩(Compact or Shrink)VPC Images文件的大小

 
 

 

我不知道是否需要澄清两个名词,这样使得你不模糊,Connectix Virtual PC for Windows可以叫VPC,但网上也说微软会在2004年会出一个Microsoft Virtual PC 2004,这两个产品可能有不同的功能,我安装过一个MVPC2K4 的测试版本,只For XPWindows 200 专业版,我能够运行在Win2K3上,但是共享目录功能始终是灰色的,界面也和CVPC不大一样,主要是Icon不同,功能上也有少许不同,在MVPC2K4没有发表之前,我说的VPC都是指Connectix Virtual PC for Windows,所以下面的描述也是针对CVPC的。

 

VPC 使用动态的增长盘的Images,所以当你使用虚拟机,你将发现你的Image(*.vhd)空间在增长并且不会自动收缩(shrink)--(甚至你删除了其中文件),当然我知道这是令人非常气恼的方式,你会发现你虚拟机的Images大小不断的在增大,而我的硬盘上有许多超过5GBVPC文件,如何尽可能的减少Images的大小呢,让我告诉你一些秘籍,这是VPC高手的骨灰级方法。

 

Compacting the disk image的一般流程

l          关掉所有运行的虚拟机。

l          启动 Virtual PC,选择“File->选择“Virtual Disk Wizard

l          选择“Examine or Modify existing disk image

l          选择一个你想compactImages文件,一般是某个文件后缀是.vhd的文件

l          选择“Compact the disk image

l          选择 Use original file (或者你可能选择一个新的文件--如果你的硬盘够大我建议你用这种方式,之后删除原来的文件)

l          如果没有问题,那么将有一个十分漫长的过程,类似硬盘碎片整理程序,VPC开始收缩你的硬盘空间。

我建议你晚上睡觉前开始做这项工作,而且没有批处理的方法,你要一个一个的来,一晚上一个,当然有一点是肯定的,在compact的过程中你不能使用这个Images的虚拟机。

 

当然这样似乎太简单了,如果高手都这样,那就不是骨灰级的,下面还有一些技巧,当然你可以使用这些招数和工具,但是我将不保证为你承担责任,特别是其中的一些软件。

也许你非常幸运,运行一晚上之后你发现文件小了一些或有了一些变化,但这可能不是最小的,而且你会发现运行的越多次的compace的结果在接近,那就是文件可能不会变化了。

 

我建议你在运行Virtual Disk Wizard先做下面的一些工作:

Inside the Image(指你运行的那个虚拟机里面,假设你运行的是一个Windows2003 的虚拟机)

l          你需要先Uninstall 所有不需要的软件、组件和删除不需要的文件。

l          删除安装的临时文件和临时目录中的文件。

l          清空我的回收站。

l          运行PageDefrag 程序(www.sysinternals.com)

l          运行内置的磁盘整理程序。

l          运行WipeClean 程序

然后关掉这个Windows 2003的虚拟机

 

Outside the image(指运行Virtual PC的这部机器)

我建议你在Images的分区上空余更多的空间,一般保留要整理的Images文件大一倍的空间。

对这个分区做一次硬盘整理,当然这不是必要的,我的习惯。

然后可以按照刚刚上面介绍的方法Compacting the disk image的一般流程,开始收缩Images的大小吧。

 

当然这和VMWare非常的不同,另外我相信除了上面的工具,还有一些私人的建议:

1.         使用Diskeeper,最近出了8.0的版本,我试了一下,在W2K3 上跑得非常正常,很喜欢。

2.         如果你的VPC在其他的可读性的CDR上、一个慢速的网络或者是USB1.0的硬盘上,请你使用WinZipRAR这样软件先压缩它再将它解压缩到一个高速的硬盘上,这个建议也适合你将一个VPCCDR或其他的地方Copy到你硬盘的时候,一般压缩后大小会小一半,网上说小58%,所以Copy速度会快很多。

3.         另外学会使用ROBOCopy--Robust File Copy for Windows NT,但不要被/MIR 参数伤害到。

4.         扩充更多的内存,扩充更大的硬盘

 

 

 
 

Time: 27 Aug 2003 - 12:46:22 AM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

华微明天软件和 .Text WebLog的测试

 
 

 

快到月底了,工作和生活会显得特别的忙,学习技术成为工作之余的一种深夜梦想,可昨晚我都没有开电脑,回来后在小雨打屋檐的美妙声音之中睡着了。醒来已是第二天早上7点,感觉非常的好。

 

早上非常重要的一件事情,是约了华微明天软件的沈先生见面,事先我们都并不认识,是我的同事推荐和介绍我们认识的。他是一个和蔼的人但通过交谈之后,我发现他也是一个带给我惊讶和快乐的人。

其一,他和我几乎在同一时间转向.NET平台,而且都是在Beta2时代就使用.NET创建系统,不同的是,他比我更有决心,将.NET贯穿到他的产品之中,而不仅仅是用在一个项目或一个系统中。Beta2时就选用.NET需要的是决心,而贯穿到产品中时需要的就是恒心了。当他谈到他的用户时的神态,让我感觉到一种共同的快乐,我想这是对.NET的一种喜爱,当我们还不知道什么是.NET的时候就使用它,并且向客户展示和应用它时,这是一种喜爱;而当客户非常满意的告诉你,我非常喜欢它的时候;.NET给我们带来了除了编程快乐之外的另外一种快乐服务于人的快乐。

 

其二,我惊讶的是之前他曾和我服务于同一家公司--广州奔步电脑,他是前辈,我进这家公司时他刚好离开去开创自己新的事业。无论这家快速通过CMM4的公司多么神奇和带有头条光环的背后,其实也有不为人知的前人栽树,后人乘凉的故事;在西方的企业运营管理中,经常会突出“只看结果不讲过程”的铁血定律,当然这是几乎最高效和民主的评判原则,但无疑有了千万人热血铸就万里长城的神奇和辉煌,也就不会存在军功章上有你的一半也有我的一半的温情。所以即使他做了许多工作,但是这属于过程阶段。软件的复杂性和长期性,衍生了这种只看结果不讲过程对个人的伤害,也许你不是坚持到最后的那个人,但是只要你不曾放弃目标,荣誉和回报会在你的坚持中开花结出新果,所以你也不曾失去过什么,沈先生的故事告诉我,每个人的背后都可能有一个巨大的身影,但看现在比看过去总是更真实和更快乐。

 

其三,我最让我惊讶的是,这位近35岁的CTO还非常热爱编程,甚至他还亲自给我演示了他今天早上编的一段语音的.NET程序。他说他也会参与到他的某个开发Team中去完成一段代码,也会每天晚上看书或编程到深夜2点,在他看来这些是非常平常和快乐的事情。而我知道许多这个年龄的CTO们已经不在编写代码,而要求大家谈一些管理理论、架构、风险和投资方面的话题。我不曾非常具体的定义和清楚我自己35岁时会在做什么,但是我想他是我的榜样。

我们甚至谈到了CSDN、谈到了WebLog,临走时我留下了我的WebLog地址给他,甚至我还告诉了他开心的WebLog,我想也许他也会成为一个Blogger,也希望他会发现我们这个.NET的特殊社区。

尽管我们谈了太多超出原定话题的一些内容,但我认为交谈的快乐和感受使我感到收获甚大,但愿沈先生也是一样。

 

开心的.Text扩大了测试范围,因为我也发现我们几个花在测试上面的时间太少,我昨天临离开公司前,按照开心的邮件测试了一下,无法运行,我Ping了他给我的网址和IP,但是都没有通,最近的病毒让我觉得网络状况的不肯定性,我还是迟疑的发了Mail给开心(我上了MSN但是发现他们都不在),除了表示感谢之外还告诉了他我失败的原因,今天才知道原来是防火器或其他的原因。今晚我会在家用我56K的猫测试一下,如果有什么新发现或建议我会更新到WebLog上。

今天我在CNBlog上看到有关对开心的.Text一个Post.Text对他们来说非常的陌生,甚至Zheng的评论非常的小心翼翼,但可以感受到他言语中的满怀鼓励和冀望之情。

值得一提的是在开心就好的博客那里,人们可以明显的发现一个以.NET技术为兴趣核心的Blogger小圈子(当然是个开放的圈子,而不象BBS那样),他们之间形成了良好的交流关系,深入阅读他们的Blog,就能发现Blog联系而成的人际关系所特有的魅力。我喜欢这样非远非近,又能彼此熟识和对话的新形态的网络交往方式。

少许喜悦的之后,也许开心和BlueInkstone要考虑这样的问题,未来这个WebLog的网站是会成为BlogCN这样的一个WebLog提供商呢还是一个像dotNETWeblogs这样的聚合.NET开发人员的网站,我希望更多能定位在后者。同样我也想提醒开心去做这样的一件事情,去写一封MailScott,除了感谢之外,也告诉他我们的想法。因为之前我看开心、飞鹰的WebLog在采用BlogX的时候都没有明显的在网站下面注明BlogX的商标和声明,我想你们都知道我遭遇过的Fabrice Marguerie事件的不愉快。---开心,我猜BlueInkstone是做这件事情的不错人选J

另外Lance's Whiteboard上说.Text + Mobile Devices = Pain!,当然这不是.Text明显的Bug,但大家也要小心,Mobile这个功能可以完全比下去目前其他平台上的所有WebLog系统的Mobility,但显然现在还有一点点问题,Scott在听见Lance 的“ Scoot , please hear my cry!”应该会迅速的调整,大家测试时有条件的不妨也测一下。

好吧,让我把例行的一些资源信息放在下一个Post吧,就算补昨天晚上的。

 

 
 

Time: 26 Aug 2003 - 02:55:01 AM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

Virtual PC for Windows 5.2和MS03-032 Security—特辑

 
 

 

Connectix 或说微软发布Virtual PC for Windows 5.2,之前我是使用VMWare的,但现在会逐渐转过来,因为微软以后提供的Demo都是VPC格式的。现在两者变得功能越来越接近,以后的争夺应该在VM Server上面,你可以到下面的连接去获得一个测试的版本:

Download: Microsoft Virtual PC for Windows 5.2 45-day Free Trial (23.34 Mb)

System Requirements & Serial No. for Trial Edition

VPC HomePage ------Trial Key : VPT5-1181-2302-9277-6447

所有的MSDN订阅用户可以在MSDN上面Download获得一个完全版本(43.6 Mb) Virtual PC for  MSDN Subscribers

 

另外据ActiveWin的拐弯消息说,101MSDN的订阅客户还可以DownloadOffice 2003,评论说,“虽然要等待这么漫长的时间,但是总算还有一个确定的时间让我们期盼。”不知你是否知道MSDN宇宙版包含了一个商业使用OfficeLicense,之前是Office XP开发版,不知道是否会延续到Office 2003 System,但如果你是今年购买和订购的MSDN宇宙版,那么应该可以享受到了。国庆节Download时注意一下是否有这个License的说明。

 

病毒横虐的时代,Symantec Announces Norton AntiVirus 2004,这是我非常喜欢的一款杀毒软件,尽管许多评比和评论中它不是性能或功能最强的一个。我也是NAV 2004的测试人员,测试结束之后近三个月之后Symantec才正式的宣布,足以证明它不是为炒作而发布的。

 

Tim Sneath在看来了Microsoft ADO.NET Core Reference之后发表了ADO.NET Tips & Tricks - Part I,我感觉还不错,但是第二部分要等什么时候才出啊J 有关连接字符串,我一般会使用Quick connection String Generator,但是现在有个更有趣的网站http://www.connectionstrings.com ,专门收集各式各样的连接字符串。别忘了,在ADO.NET中连接池是根据连接字符来建立的。

 

Contoso extranet sample application 一个使用ASP.NET DemoWindows 2003中如何使用多种平台安全服务(platform security services)的例子, Download

 

The ASP.NET Page Object Model--One Day in the Life of an ASP.NET Web Page 传说Dino Esposito写的有关ASP.NET的文章你最好都去看一下,况且是8月份最新的文章。

 

之前我提到过'Dogfooding'的故事,但今天看来DogFood也不会是个简单历史名词,'Dogfooding' determines the fate of new Microsoft products,可以了解到微软产品流程和版本号的故事。

 

一些Visual Studio配置管理的文章

l          Solution configurations & project configurations

l          Developing ASP.NET applications without VS.NET

l          Building from the command line: devenv /build

l          Developing Software in Visual Studio .NET with Non-Administrative Privileges

 

Certificate Enrollment Protocol (SCEP) 什么东东啊?

The Simple Certificate Enrollment Protocol (SCEP) Add-on for Certificate Services runs on the Windows Server 2003 family. It provides support for the SCEP protocol which allows Cisco routers and other intermediate network devices to obtain certificates.

我没试过J ,不过你可以试一下 download

 

BUG: "Server Application Unavailable" Error Message from ASP.NET After You Install the MS03-032 Security Update

之前我们提到的Microsoft Security Bulletin MS03-033造成ASP.NET的问题已经从ASP.NET Forumz转到了Microsoft KB,今天我又拿Google查了一下这个问题,查到了tech521有一篇中文版的KB,也提了“Server Application Unavailable” 这个错误提示,我摘了下来,考虑到这个页面越来越大,我把这些文档放在另外一个文件中,你可以从这里打开MS03-032 Security—特辑

 

PDC! PDC ! PDC! 中国的开发人员怎么参加啊!太贵,太远,太吸引人,不去是遗憾,去了的一定要最快的分享信息给我们。Censored Until the PDC,sorry 这里有一幅Anders Hejlsberg的照片,不知又在讲C#的什么新东东J

 

 
 

Time: 25 Aug 2003 - 02:47:01 AM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

Blogger的使命和开心 WebLog Host测试计划

 
 

 

“你永远都结不出苹果,因为你不是苹果;你也不会每年春天都开花,因为你不是玫瑰。你是一棵橡树,你的命运就是要长得高大挺拔,给鸟儿息栖,给游人遮荫,创造美丽的环境。你有你的使命,去完成它吧”

小树顿觉得浑身上下充满了力量和自信,它开始为实现自己的目标而努力。很快它就长成了一棵大橡树,充满了属于自己的空间,赢得了大家的尊重。这时花园里才真正实现了每一个生命都快乐。

在生活里,所有的人都有自己需要完成的使命和属于自己的位置,不要让任何事或任何人阻止我们认识和享受我们存在的美妙真谛

在不明白自己要做什么时,一棵小橡树在花园里会去羡慕苹果树、橘子树、梨树甚至玫瑰花。看了这则故事,我觉得很有启发,做一个Blogger也是一样。送给所有的Blogger

文章选自参考消息-西班牙《都市生活》网站文章:百花盛开的花园

 

看到开心正在征集他中文版的Blog软件的测试人员,我想这是一个卓越而艰辛的工作,这样到时可以考虑申请一个J,我不知道开心选用的是BlogX还是dotText 作为基本原形进行改进,dotText 是一个非常好的选择,但是目前我还没有看到国内有任何的人使用它作为自己的WebLog系统。dotText一个非常好的功能是它的AggregatedWeb功能,可以将这个WebSite上的所有Blogger聚合在一个页面上,同样也支持每个人拥有自己单独的WebLog页面。

目前我的系统不是真正的Blog,因为不支持RSSSgml的输出格式,这样也就意味着你不能使用RSS或其他的新闻聚合工具来阅读我的WebLog,我租用新网的空间今年10月份到期,到时也许我会考虑换一个支持ASP.NET的空间,但似乎国内很少,蓝色理想说他那里有,我不知道是否要麻烦他。

简单+方便是我喜欢的方式,再说目前的方式是我能够控制的方式,不用一年换几个地方也不用提心吊胆考虑服务商的情况如何和一些特别的条款规定。因为我发现许多Blogger最后都转化成自己可以控制的方式,另外我有一种预感,不久的未来一个人可能会拥有一个以上的WebLog,最简单的方式,公司一个,工作之余自己还有一个J

 

Roy Osherove的好文章

Add Runtime Functionality to your Application by Providing a Plug-in Mechanism Part I

http://msdnaa.net/Resources/Display.aspx?ResID=2197 ----Link

Add Plug-ins to Your Application Part 2: Searching Dynamically for Plug-ins without Config Files

http://msdnaa.net/Resources/Display.aspx?ResID=2200 ----Link

非常Cool的一种方法,我认为 Plug-in 也是一种非常有效的设计模式,在NET的层面上其实是利用AppDomains技术

Eric Gunnerson 文章-- AppDomains and Dynamic Loading ---Link

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp05162002.asp?fram

 

Web Service Tools ---Link

http://www.gotdotnet.com/team/tools/web_svc/default.aspx

Two new tools for building WS-I BP 1.0 compliant Web services

With the release of WS-I Basic Profile, use these two new tools to build and consume compliant Web services using the .NET Framework.

The r2d tool converts RPC/Literal WSDLs to Document/Literal WSDLs. Use r2d.exe to build and consume RPC/Literal services using .NET 1.0 or 1.1.

The DeDoc tool removes WSDL elements that contain children (e.g. WS-I conformance claims) allowing Add Web Reference and wsdl.exe to consume these WSDLs.

上次我们讨论过WS-I BP 1.0发布的情况,现在已经有了一些专门的工具可以帮助到你,毫无疑问,整个Web Services的发展有了一个转折性的变化,基于协议制定的工作可能暂时告一段落,下一阶段的主要任务将围绕实现这些协议的商业Web Services的服务器和产品。

 

一个开源的obfuscator实现

Dan Appleman 建立了非常好的开源的 obfuscator,你可以从这里Download到,从中可以获得obfuscator有关的原理。当然你也会发现http://www.abderaware.com 网站本身也非常不错。

 

Injecting Client-Side Script from an ASP.NET Server Control ---Link

http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/aspnet-injectclientsidesc.asp

获得一些在ASP.NET中执行客户端脚本的方法,ASP开发人员转向 ASP.NET平台一个很多的概念就是要适应Server端编程和Code-behind,这篇文章可以让你学会如何注入客户端的JavaScript代码

 

The ASP Column - The Internet Explorer Toolbar Control – By George Shepherd

http://msdn.microsoft.com/msdnmag/issues/03/09/ASPColumn/default.aspx -----Link

实用性不大,但对于想知道原理和诸如控件、事件如何运作的体验,这是一篇不错的文章。

 

Creating a Generic Pager Control -By Tomasz Kaszuba

http://www.15seconds.com/issue/030812.htm -----Link

Generic Pager是一个非常好的概念,但ASP.NET 1.0的支撑不是完美的或说不是足够的,ASP.NET 2.0会有一种新的模型比如Master Page的概念。Tomasz提供了文章、代码和在线的Demo,我想作为读者和一个学习者你还有什么其他的要求呢-赶快学习。

 

 
 

Time: 24 Aug 2003 - 22:58:01 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

安装软件的郁闷和Fix for: “Server Application Unavailable” Error

 
 

 

今天非常的郁闷,因为安装了一个测试软件,导致了VS.NET的帮助以及所有的MSDN LibrarySearch功能受到了影响,许多信息都不能检索出来;Search一个“Connection”的关键字,居然只能找到14条记录昏倒。Uninstall该测试软件之后重新安装MSDN居然还不行,修改注册表也不行。最后说卸载掉整个Visual Studio.NET再重装,确发现Visual Studio.NET不能Uninstall,最后用赖皮的办法,取了另外一个笔记本上的VS.NET 2003的注册表,导入进,然后硬删除再重安装,再修复,一来二回一天也就过去了,真是非常的郁闷。

我开始相信.NET Side by Side是一个很好的解决方案,但相关的应用软件或功能也必须支持SxS。一个MSDN Library如何被不同版本VS.NET调用同时又能适应不同版本VSContext?类似这样的问题,应该是SxS下一个阶段需要解决的问题。

另外有一个非常不错的注册表工具可以推荐一下jv16 Prower Tools以前的RegCleaner非常的稳定和人性化,比国内的什么什么大师要安全,至少不会乱删注册表的内容,而且可以恢复。今天要不是它帮忙自动备份,我估计明天还在安装呢。

 

Encrypted Connection String – dotNET Guy

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=7d1d4954-a530-4329-8cc0-96a0c39ab4b2

 

Colt Kwong 已经贴出之前提到到的Microsoft Security Bulletin MS03-033影响的”Server Application Unavailable”的帖子、相关的原因和解决办法。

ScottGu start a new Forum Group in the official ASP.NET Forum with the captioned subject.

Details can be found at http://www.asp.net/faq/ms03-32-issue.aspx

Discussion can be posted at http://asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=317424

看来它只对ASP.NET V1.0 on Windows XP Professional的起作用,还好我是Win2K3,不过ScottGu亲自出马肯定没问题了该人是ASP.NET TeamProduct Manager还是Product Unit Manager(我不确定是两个中的哪一个J)

 

Anders Hejlsberg最新的访谈录

The C# Design Process --A Conversation with Anders Hejlsberg, Part I

-by Bill Venners with Bruce Eckel

http://www.artima.com/intv/csdes.html

 

The Trouble with Checked Exceptions - A Conversation with Anders Hejlsberg, Part II

-by Bill Venners with Bruce Eckel

http://www.artima.com/intv/handcuffsP.html

 

Deep Inside C#: An Interview with Microsoft Chief Architect Anders Hejlsberg:

http://windows.oreilly.com/news/hejlsberg_0800.html

 

A Comparative Overview of C#:

http://genamics.com/developer/csharp_comparative.htm

 

 
 

Time: 23 Aug 2003 - 24:56:18 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

新的补丁和开心的Blog本周人气榜

 
 

 

病毒继续在猖狂的进行,情况有好有坏,坏的是侵入你机器的病毒在它侵入后第一个小时变得越来越诡异,产生的伤害也越来越大;好的是我们有了更的方法来遏制它,对于蠕虫病毒,最好的办法是不要让自己成为一个载体或是被暂时利用的个体。有时候这意味着你不仅要勤打补丁,安装杀毒软件,另外如果需要最好安装防火墙软件。

Download: Scanning Tool to Indentify Vulnerable Systems
Download: MS03-026 Patch for Windows 2000 | Windows XP | Windows 2003

Download: MS03-026 IPSec Mitigation Tools

IPSec Mitigation Tools是个非常有效的工具,运行时有三个选项,我建议你使用选项三,这是能够简单防御蠕虫病毒的选项,选项一和选项二则是采用很更严格的方式,对于我们的开发或个人机器来说,可能会导致一些程序不能访问,你应该考虑在你的服务器上使用。使用前请你一定看Readme文件。

 

IE6  再次发表一个补丁程序针对所有的Windows平台- 我已经打了这个补丁J

A number of security issues have been identified in Microsoft Internet Explorer that could allow an attacker to compromise your Microsoft Windows®-based systems and then take a variety of actions.

Microsoft Security Bulletin - MS03-032

August 2003, Cumulative Patch for Internet Explorer
August 2003, Cumulative Patch for Internet Explorer(For windows 2003 server)

 

还有一个补丁我应该提一下, Please Pay Attention

Unchecked Buffer in MDAC Function Could Enable System Compromise (823718)

Microsoft Security Bulletin MS03-033

Download: MDAC: All affected versions

这个补丁针对Microsoft Data Access Components 2.52.62.7三个版本,但是我建议你直接安装Microsoft Data Access Components 2.8。据我的朋友Steve说他安装了这个补丁之后,他的ASP.NET的应用不能正常的运行,报” Server Application Unavailable” 的错误,修改ASP.NET运行的用户和Config的运行帐户后,发现应用可以运行,但是在VS.NETDebug ASP.NET的功能失效,目前我和他似乎还没有找到更好的办法和获得最新的消息,另外我在网上的讨论组也发现了类似的提问。所以如果你要安装这个补丁,请先做一个测试。

 

最近病毒的的流行也是对Windows系统的一个考验,我个人认为Windows在经历一个超前的考验或说成为强者的考验,也许3年或5年之后Linux也会越到同样的问题和境地,那么我有一个有趣的假设,其一是如果Windows通过这样甚至更严峻的考验并且让自己改善得更好,那么也许Linux就不会遇到这样的考验;同样如果3年或5年之后Linux遇到同样的问题和境地,那么Windows也许没有通过这个考验或是已经演化成别的什么。这么看,这样的事件对于Windows是有益的,而对于我们这些普通用户来说,就成为直接被黑客侵扰的对象。

 

.NET Compact Framework 1.0 SP1 Redistributable

http://www.microsoft.com/downloads/details.aspx?FamilyID=1f62a2a3-7282-4ba9-b26b-2267e972501d&DisplayLang=en

 

很高兴,几天前我介绍过一种方法可以使得你的ASP.NET的应用可以运行在不同版本的.NET Framework ,今天在www.asp.net上看到下面的这篇文章进行了更新,而且介绍的方法和我的类似,而我的在FX1.2 下测试通过,另外还有一个简单的命令,可以让你很快的看到你所有WebSiteWeb Application运行在那个FX版本下,这个命令是aspnet_regiis –lk

ASP.NET Side-by-Side Execution of .NET Framework 1.0 and 1.1

http://www.asp.net/faq/SideBySide.aspx#2

 

 

开心发布了本周Blog人气榜,他的WebLog已经成为一个程序员WebLog的集中地,很多程序员在他那里获得其他Blogger的信息。我也去Comment一把,因为我没有发现他对自己的WebLog的描述J

 

开心就好: 开卷有益型。如果说读代码如读其技,读文章如读其人,而你要想了解一个Blogger的想法和生活,那么开心的Blog绝对是让你开心那一类,以至于你会发现技术只是一种点缀和补充,生活中许多亲身的故事和感悟足以让你觉得做一个程序员是一件快乐而有意义的事情。具有最高的亲和力和感染力。假如你不报任何目的的看他的WebLog,你会发现你是在和一个很好的朋友聊天会有一种阅读的快乐;他的每一句话也许都是对你的一个亲善的邀请,所以绝对开卷有益。缺点嘛,就是有时有些情绪不稳定,你会发现有时一个开心乐观的人其实也会流露少许的忧伤。

星级:★★★★★

 

比起开心的,我越发的觉得自己的WebLog冷冰冰的,都是些技术新闻和英文信息。也许这和我的原则有关,我坚持自己作一个Blogger的两个原则:第一 WebLog作者本身是一个快乐的人他会认为WebLog是一件自由而有趣的事情;第二,WebLog的内容本身首先对自己非常有帮助,或是说其要以对我的学习和工作有帮助为第一目标。简单的说就是自由和首先利己。

我认为Blogger之间的影响非常的大,特别是对于一个想成为Blogger或即将成为Blogger来说,当他遇见不同的Blogger时可能会造成他对Blogger的第一印象和理解,从而影响他之后的Blog风格,我想开心的这段评论也算是一个快速的指引吧,所以谢谢开心,也谢谢你对我的WebLog的关心和肯定。

 

至于和开心以前只是通过CSDN,因为那时他是CSDN Web Services的斑竹,我也只能是在某个帖子下面搭上一言半语,但是通过WebLog,特别是开心的WebLog,我能够更多的了解他本人以至成为非常好的朋友。这一点是我认为非常值得称赞的也是深感得意的J

 

 
 

Time: 22 Aug 2003 - 22:41:56 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

ASP->ASP.NET 的Guideline

 
 

 

在我7月份的WebLog上我曾写过一个MIEC的模式理论,简单的说就是:

l          Migration

l          Interoperation

l          EAI

l          .NET Connection

 

Migration最常是用在相同的应用程序层但在不同的平台上,比如把JSP的表现层编成ASP.NETWeb From或是将中间层的COM转换成Web Services等等。基本上,Migration调整的是一个层,不会太大的影响其它层或整个系统已经运行的逻辑。

你会发现MIEC这个模式理论非常有用,当你应用程序需要从ASP2.0 迁移到3.0 的时候,你就可以按照下面的办法来处理。

 

第一阶段--代码转换

使用一个工具,将ASP的代码转换到ASP.NET的代码。一般你可以选择下面几种工具中的一种(这些在我的WebLog中也都有提到过)

l          ASP2ASPX --http://www.netcoole.com/asp2aspx.htm

l          VB6->VB.NETWinForm->WebForm --www.artinsoft.com

l          ASPBridge IncludeControl---http://www.iprisma.com/aspbridge/index.htm

 

当然这里我会使用ASP2ASPX来完成第一阶段的工作,将ASP的代码转换成ASP.NET

下面是一个3.1的评估版本,只能转换不超过1000行的ASP的代码

 

 

第二阶段--验证、整理和测试

这个阶段主要是将第一阶段的代码进行整理和坚持,看它是否已经转化正确。一般在这个阶段完成具体的代码和应用的迁移任务,并保证迁移是能正常运行的。

1.       由于ASP中多是VB Script没有类型,所以许多都被转换成System.Object,你可以在做检查的过程中,做一点代码重构的工作,将System.Object修改成一些已知的类型,比如System.String; System.Int32;System.Int64

这部分每完成一个模块,或做完代码的调整,都需要做一个完整的单元测试,主要保证编译可以通过这个可以通过编写一个批处理文件,或是使用MS ACT,这个工具对于访问一个ASP.NET就非常好,特别是多个URLACT会给你成功或失败的列表。

2.       一些ASP的代码需要进行修改,比如ASPSession的代码,因为这些在ASP.NET中已经无法使用了,这部分代码只能重写。

3.       迁移ADO代码的部分,工具可以帮你做一些,但是你需要检查转化的代码,注意ADOADO.NET的差别,最明显的是你知道ADO.NET不支持服务器的光标,具体的可以参加下面的资源。

4.       迁移COM组件的部分,ASP2ASPX 3.0之后的版本可以自动的将COM/ActiveX转化成一个ProxyAssembly,但是你需要检查和进行一些调整,最先需要先迁移过来,之后再考虑这种方式的性能,我建议你放在下一个阶段。

5.       这里有一个非常大的代码工作量的问题,因为ASP2ASPX产生的代码对”code behind”的支持非常的有限,产生的Code几乎都是代码和UI在一个ASPX的界面中。ASP.NET 2.0会对于这种方式有更好的支持,但目前这会有一定的代码量。

 

第三阶段优化、集成和部署

这个阶段主要是针对上面的情况,进行一些优化或更多应用的集成扩展,最后在完成测试之后进行部署。

1.   对于原来调用ADO部分的一些代码可能需要在这个阶段进行优化,充分利用ADO.NET的性能。

2.   如果存在原来VBScrip+COM组件的形式,需要在这个阶段调整组件的模式,是直接调用.NET Assembily还是原来可能是在ASP中是调用的COM+Proxy,那么这种情况就更加需要注意。一般你可以做三种选择:

a)        改为在ASP.NET页面的cs文件中直接完成数据库和业务逻辑的部分。

b)        建立一个.NET Assembly 对原来的COM组件的内容进行重写或封装。

c)         将一些组件改为Web Services的方式。

3.   考虑将一些UI的部分变换成Server Control,将其放入Cache中,或是实现完全的”Code behind”

4.   考虑使用.NET中一些Cool的特性,比如校验控件、正则表达式、排序函数、配置类库、加密函数、调试和跟踪函数、多线程等等,增强原来应用的性能和可靠性。

5.   充分利用EAI.NET Connection两种模式,继续增强你的Web应用的价值,最明显和常用的一种方式,你会发现你在迁移ASP应用的过程中会使这个应用变成一个公司的Portal WebSite (EAI模式 ),另外也可能使得你的应用可以跟一个更大的Portal进行连接(.NET Connection 模式)---当然我认为这是迁移最大的益处,不过往往可能你要到再下一个阶段才能真正进行J

6.   Web Services/Remoting

 

资源

 

ASPASP.NET Session 共享

1.       Session 原理

http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=7504 (ASP.NET Team的说明)

2.       MSDN 文档

http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ConvertToASPNET.asp

3.       第三方的产品和解决方案

http://www.consonica.com/solutions/dotnet/statestitch/index.html

http://www.sessionbridge.com/

 

Migrating to ASP.NET: Key Considerations.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/aspnetmigrissues.asp

 

Migrating ASP Pages to ASP.NET Pages

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconmigratingasppagestoasp.asp

 

Converting ASP to ASP.NET

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/convertasptoaspnet.asp

 

Upgrading to ADO.NET

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/upgradingtodotnet.asp

 

ADO.NET for the ADO programmer

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/adonetprogmsdn.asp

 

Migrate Classic ASP to ASP.NET

http://www.aspalliance.com/anjum/ASPMigration.aspx

 

An experience in migrating from ASP to ASP.NET

http://www.mindfiresolutions.com/download/Porting=ASP%20to%20dotNET.pdf

 

Preparing your ASP Pages to migrate to ASP.NET

http://www.4guysfromrolla.com/webtech/041601-1.shtml

 

Microsoft .NET/COM Migration and Interoperability (PAG)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/cominterop.asp

 

Migrating Your ASP Apps from Windows NT 4.0 to Windows 2000

http://msdn.microsoft.com/msdnmag/issues/0800/migrateasp/default.aspx

 

Web Service Facade for Legacy Applications (PAG)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/wsfacadelegacyapp.asp

 

Migrating an ASP-Based Site to an ASP.NET-Based Site (Microsoft Content Management Server 2002)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncomsrv02/html/mscs_csnetmig.asp

 

How to Upgrade ASP Pages to ASP.NET Pages That Use JScript .NET

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnclinic/html/scripting01222002.asp

 

Migrating from ColdFusion to ASP.NET

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/coldfusiontoaspnet.asp

 

 
 

Time: 21 Aug 2003 - 21:08:46 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

思考??

 
 

 

难得的一些阵雨让我的心情不是那么畅快,尽管天气已经明显感到一些凉爽和清凉。

开心就好的WebLog已经恢复了,如我猜想的,是遇到了一些问题J 昨天我访问时发现每次都能生成随机的DLL文件,但是程序不能运行,猜想是更新系统的某一部分或是权限的问题,没想到是被升级成DC了。估计开心现在被迫使用较高的权限用户访问某个目录或是数据库J 或是ASP.NET用户被赋予一个Admin的权限。---当然又是我的猜测。

 

然后开始回信,先是给飞鹰手记,昨天我就想和他交换链接,结果今天被他抢先一步,失礼失礼;而小马哥的家就让我惭愧惭愧了,我近一个星期才给他回信。

开心也开始了MVP的竞选时段。我不太懂MVP的竞选规则,MVPBlogger一样都是在做一件没有酬劳而帮助别人的事情,不同的也许是Blogger还没有MVP的荣誉:)WebLog中没有MVPMVP生活在社区和论坛之中。在一个社区和论坛中解决一个问题需要的是经验和耐心。WebLog更倾向于知识的分享和自我学习。MVPBlogger也许侧重点不同,要做那一个就看你自己了。好吧,和我一起加入为开心加油的行列,像闫诺一样用自己的行动,抑或是尽你的努力,即使只能在你的心里投这赞成的一票。

 

记得不久前在一个聚会上,曾听过这样一段论点,

怎样才算是一个成功的人:

1.   在一家成功的公司工作过。

2.   被成功的人领导过。

3.   自己领导过一群成功的人。

在我们的观念中,自己永远都是一个勤奋而执着又充满理想的人,也许我们对自己的职业规划都是根据你就职的公司随遇而安,边走边看,今天我看到EricWebLog上有这么一段话,”Often we choose to focus on the things which are outside our control.  But the truth is that our career path is largely determined by our own choices.” –好吧,我贴了全文(点击这里),可以补一课,想一下。Cluefulcluefulness我不知道翻译成中文是什么,知晓或渊博的知识?

 

 
 

Time: 20 Aug 2003 - 23:33:27 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

Office 2003 RTM

 
 

 

Office 2003 RTM

收到Office Team发来的Email,说Office 2003 已经RTM,按照惯例这意味着这个Office Test Program将在一个星期之后关闭,另外其他的一些资源也会被收回。成功的发布Office 2003决对是一件好事,但是对我个人来说又少了一些资源,当然还有Yukon,也许还有下一个更有趣的产品等待测试。

 

Dear Henry,

 

We've done it!  We are pleased to announce that Microsoft Office System has released to manufacturing!  With your efforts in the Office 2003 Pre-Release program helping to provide us with greater amounts of higher quality feedback than we've ever had before, we will ship the greatest set of Office products yet!  We wish to extend a hearty thank you for your participation in the pre-release program.  You helped make Office 2003 Editions, FrontPage 2003, OneNote 2003, Visio 2003, Microsoft Office Outlook 2003 with Business Contact Manager, SharePoint Portal Server 2003, and Microsoft Windows SharePoint

Services GREAT!

………………………………………

*Hosted Windows SharePoint Services Sites*

- On August 26th, a migration tool, smigrate.exe, will be posted to

betaplace.com for download in order to move hosted WSS content to a 3rd party

hosted environment.  Additional explanation will be available on the

betaplace.com website.

 

*Gifts for Technical Beta Testers*

- We appreciate all you have done to help us test our products.  Gifts will be

shipping to you by October. ---什么好东东不是Office 2003 一套吧

 

Please email the administrative alias for your beta program with any questions.

 

Thank you,

The Microsoft Office System Team

 

Thank you!  -- Steven发来的感谢信。非常非常不同的是Steven Sinofsky,他是Senior Vice President,目前负责整个Information Worker Group。以前都是Product MangerProgram Manager感谢信给测试人员,这一次VP亲自公开发信感谢,感觉微软非常得注重客户的感受了,这使得我这个中国的小测试人员倍感荣幸。也是充当测试人员附加的一种乐趣和收获吧。

 

Dear Henry,

 

Henry XXXXXX

Email: new2001@msn.com

Beta ID: 469XXXX

 

Dear valued Microsoft customer and industry partner,

 

The release to manufacturing of the Microsoft?Office System this August marks

the conclusion of an incredibly successful beta test in the Microsoft product

family, one that we could not have completed without your help. Please accept

my sincere thanks to you for your participation and feedback during the beta

testing phases.

..................................

 

Steven Sinofsky

 

 
 

Time: 20 Aug 2003 - 08:44:29 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

Visual Studio.NET 2003和Smart Devices设备的开发

 
 

 

天秤座的人绝对不喜欢太多混乱和不和谐的东西,而如果像现在的状态这样下去,我想不久我会感到厌倦的。昨天我还在看SPSWeb Part,今天我去又在研究Pocket PC的开发。

毫无疑问我不是这方面的专家,当我拿到朋友借给我的Smart Phone的时候,首先被一群莫名其妙的短信息吓晕,我不明白这源源不断的乱码短信息,从那里来的,但是的确非常的可怕。之后我还是决定用Pocket PC来做一个实验和这个Demo

之前需要一些简单的程序和资源来帮助你,假如你不知道任何的网站,这几个网站我希望你应该去看一下:

当然ActiveSyncRemote Display Control 是必须的,ActiveSync让你的Pocket PC/Smart Phone能够和你的笔记本或开发机器通过一个连接(USB、网卡、红外线和蓝牙)进行数据更新和交换;而remote Display Control则可以让你在PC上通过ActiveSync控制你的Pocket PC。这两个工具再加上Visual Studio.NET 就可以开始编程之旅了。

 

首先编写了一个WinForm的应用,很简单都调试和运行成功。然后我试图在Pocket PC上面调用一个Web Services,也还不错,可以访问的通。

然后我去了找到了TaskVision,这个程序几乎成为一个品牌,在最初Smart Client和非接触部署的时代,特别是非接触部署的用例中,MSDN Library中有许多地方都不可避免的提及了这个软件,现在你可以在这里看到更多的版本,比如C#版本,单独的Sever版本,当然我需要的是一个Server版本和一个Pocket PCClient。很快很容易的可以获得它们。

 

安装的过程有些问题,我最后是手工调试成功Server端的,我不知道是因为我的Web Server 80口被SPS2003占了,还是我的数据库名或权限有问题,在报告一个参数错误的提示后,整个安装程序回滚。最后我自己用SQL Script 安装了数据库并在IIS中建立了一个Web Application。当我在Pocket PC访问成功Server上面的Web Services之后,我知道这部分的安装已经结束。

对于Client 也很简单,原始的Project应该是Visual Studio.NET的,唯一的建议你,

不要修改VS.NET中的http://www.notouchdeploy.com/TaskVisionWS/*********.asmx 的WebServices引用链接,因为当你更新引用之后,你会发现这个代码无法编译通过了,当然也许是我的机器还安装的Framework 1.2 的原因,最后我是通过手工修改Reference.cs文件中的Web Services的地址来完成对Web Services的调用的。另外你还需要修改PocketVision.csdproj 了解VS Project文件结构和Reference.cs的用处这时对你有莫大的帮助。

Client编译通过是一个不小的里程碑,之后的回报会让我非常兴奋和高兴,因为这么简单的程序放到Pocket PCSmart Phone 上将是非常吸引人。看下面的屏幕拷图。

 

   

 

TaskVision Pocket PC版本展现了下面几个非常好的特性

l          Application offline and online model

l          Data collision handling

l          Dynamic properties

l          Forms authentication using a database for user names/passwords

l          Asynchronous XML Web service class

l          Uses SQL CE for local storage when working offline

l          Pocket PC-optimized UI

而当我描述这些功能的时候,我发现了另外的一个视角:.NET Framework Unify Programming Models,毫无疑问我并非一个嵌入式或移动设备开发的 专业人员,摆在我书架上有过Windows CE的书不会超过三本,但我依然可以享受和平移我在桌面应用和企业应用开发的.NET Framework经验到另外一个平台。

很多时候,如果你同时使用过eMbedded Visual Tools.NET Tools进行开发,你会更加能够体会到.NET平台给你带来的好处。

 

今天访问过三次开心就好WebLog都是ASP.NET 的错误页面,不知道是否正在修复或是更新中。同时我也发现通过开心的网站,我认识了许多的MVP,比如前几天的小马哥的家,开心的死党。飞鹰手记ASPCool的站长,最近正在狂补设计模式的知识;有凤来仪,看文笔和起的名像是一女子,但很难确定是东方蜘蛛公布的图片中的哪一位。

另外还有Soho-Works、先这么叫他,我还没有获得他的信息,猜这也是一位Yukon的公开测试者。

也许慢慢的会形成一个圈子,每当想起这些辛勤的Blogger,我也会激励自己不断的WebLog 下去,希望大家也都坚持下去。所以每一次迟到的更新对我来说都是战战兢兢的少许不安心,毕竟这是一种Delay .

Ps : 最后非常抱歉的说,我还是无法克制自己携带图片的习惯,所以可能让致使你打开这个页面要花更多的时间,至于链接打开一个新窗口的建议我已经在注意和进行修正了。

 

我讲话,因为我有所感受,我对着你讲话,因为我希望你知道我的感受。

我的说明就是请求。

我的发问就是说明。

我的闲话家常就是结交的邀请。

我拉杂乱扯就是祈愿:请不要把我看成妄造是非的人,请尊重我。

我的辩驳是在坚持:我希望你用同样的态度表达对我的尊重。这就是我为什么用这种方式讲话。

我的批评是要告诉你:你刚刚伤了我的心。

---- 我话中的意义—(Notes to Myself , Hugh Prather )

  

 
 

Time: 19 Aug 2003 - 24:56:18 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

SharePoint Portal Server 和FrontPage 2003

 
 

 

我会认为这是一个非常不错的文章,因为从这篇文档开始,我试着使用FrontPage 2003开始对SharePoint Portal Server 2003进行一些更有意思的编程,以前一直使用Visual Studio.NET进行WebPart的编程,但是我一直感觉太孤单了一点。使用FrontPage2003更多的时候能够有更多有趣的体验。

 

意外的发现了FP2003 中带了一个WebLog Web Packages,但是当我想安装,看看它是什么样的时候,却老是出错,我不知道是什么原因?测试版还是我安装的有问题。

 

 

 

 

另外现在使用FP2003对于新建和修改一个Team Site都非常的方便,但是我一直找不到一个好的方法来删除这个Team Site,所有就先查看了它是否有提供一个WebServices的接口,似乎没有找到,之后我去SQL Server继续找,最后调用一个SPS的存储过程删除了我多建立的4Team Site

 

select * from webs

 

Full URL中可以发现你建立的Team Site,从而也可以获得你的SiteID,这样就可以开始删除了。

删除一个WebSite的存储过程叫proc_DeleteWeb(uniqueidentifie siteID, vchar(250) url , varchar(250) failed url )

DECLARE @myid uniqueidentifier

SET @myid = '92BC1B85-CD40-474F-910C-BFE2C540A797'

exec dbo.proc_DeleteWeb @myid,'WebLog',null

 

 

Uniqueidentifier

非常奇特的一个SQL数据类型,相当于一个GUID。和security identification number (SID)数据类型并称为SQL最不易被人记起的数据类型。

使用这样类型的最大好处是你的应用程序返回或需要的是一个GUID,另外它也保证这个数全世界的唯一性。但SQL手册上说使用这种类型最大的坏处是用户根本记不住,难以保存和效验;没有一种模式可以计算出这个数列递增的方式;占用16Byte,和4BtyeInteger达到的功效类似,并且建立索引之后比Integer也会慢,所以专家一般会建议你使用IDENTITY和序列最大数的方式来代替这个类型。另外还有一个不好的地方是这种类型可能造成你必须使用SQL Server的数据库J

 

一些常用的方法

l          Character string format : '6F9619FF-8B86-D011-B42D-00C04FC964FF'

l          Binary format : 0xff19966f868b11d0b42d00c04fc964ff

l          赋值一种方式使用NewID() 函数比如:DECLARE @myid uniqueidentifier SET @myid = NEWID()

l          赋值另一种方式赋字符串常量比如:SET @id = '92BC1B85-CD40-474F-910C-BFE2C540A797'

l          转换: PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)

 

Sample- from SQL Server Help

CREATE TABLE MyUniqueTable

   (UniqueColumn   UNIQUEIDENTIFIER      DEFAULT NEWID(),

   Characters      VARCHAR(10) )

GO

INSERT INTO MyUniqueTable(Characters) VALUES ('abc')

INSERT INTO MyUniqueTable VALUES (NEWID(), 'def')

GO

 

也许有时你搞不清楚C#VB.NET 的语法对应时,下面的两个资源也许可以让你清楚:

Visual Studio Language Equivalents

Differences Between Visual Basic and C#

 

China blocks foreign software use in gov't ---该新闻非技术类,不做评论!! 请勿讨论

 

 

A new policy by China's governing body the State Council will rule that all ministries have to buy only locally-produced software at the next upgrade cycle.

 

The move, aimed at breaking the dominance of U.S.-based Microsoft on desktop computers, will eliminate Microsoft's Windows operating system and Office productivity suite from hundreds of thousands of Chinese government computers in a few years' time. Gao Zhigang, an official with the Procurement Center of the State Council, told reporters that the new policy will be in place by year-end.

 

At a special congress held to encourage ministries to upgrade to WPS Office 2003, a China-made office productivity suite, Gao said that only hardware pre-installed with domestic operating systems and application software will be purchased by government. Those seeking exceptions will need to submit a special request. The new policy is expected to increase the number of government officials using domestic-made office software from a third to 100 percent eventually. Gao said that the new policy is meant to support the local software industry and protect state information security.

 

 

  

 
 

Time: 18 Aug 2003 - 24:56:18 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

.NET Framework 1.2 的混乱

 
 

 

Side By Side是一个近乎完美的概念和解决方案,对我来说这是一个实践的机会也是造成我机器一个近乎混乱的 软件环境,记得装完FX1.2那天我专门测试了Windows的应用程序的兼容性的问题,花了近一个小时测试了机器上的Smart Client的应用程序,而今天当我要运行SPS 2003 时我发现非常痛苦的一事情,SPS 2003还不支持FX1.2,另外原来的 一些Web Application也将不能运行,真是昏倒。最简单的办法是将IIS上的Web Application都恢复到FX1.1 的版本,也许在某个空间和时间,我会多一个WebSite和端口,让它专门的使用FX1.2

当安装完FX1.2 你会发现IISWebSite的属性框变成了下面这样,我原来以为,只要简单的在组合框中选定某个版本就可以切换回来,但结果是我设置完后重新启动或不启动IIS,其应用还是运行在FX1.2上面,也就是说更本修改不了。

 

 

然后无奈之下,使用狠的:

D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322> aspnet_regiis /I

结果一看失败,然后再aspnet_regiis /ir 结果还是失败,真失败啊。

失败的原因是我看到所有WebSite中的应用程序映射根本没有改变(WebSite Properties->Home Directiory-> Application Configuration-> Mappings)

 

 

这么多后缀让我自己修改将是多么的痛苦,然后苦看一阵参数列表想到下面的方法:

先使用D:\WINDOWS\system32>iisweb /query 这样可以看到你所有WebSiteSite Name(Metabase Path)

 

 

而这个Site Name就是aspnet_regiis –s后面的参数Path。用这种方法就可以非常轻易的做到刚刚我开始的想法,一个IIS上面有多个WebSite,每个WebSite可以运行在不同的Framework版本上。

D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322> aspnet_regiis -s w3svc/1

D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322> aspnet_regiis -s w3svc/1551309956

这样我的”Default Web Site””SharePoint 管理中心就运行在FX v1.1.4322下面,而其他的WebSite比如ASPNETWebmySite等依然运行在FX v1.2.30703下面。

Iisweb是在Windows dir\System32 下面的iisweb.vbs,除了这之外你会发现还有不少的其他Scriptiisapp.vbsiisback.vbsIIsCnfg.vbsiisext.vbsIIsFtp.vbsIIsFtpdr.vbsiisvdir.vbs (我运行在Windows 2003 )

 

当然,如果你知道Denis -- MS Germany employee,那么你可以在他的网站上发现 ASP.NET Version Switcher 1.0,这可以让你在ASP.NET 1.01.1之间任意切换。Denis的另一个代表作是HierarGrid如果你常去ASP.NET Forum就会发现这个控件能够解决许多人的这样的疑问:”How to display hierarchical data in a DataGrid” / “How to display (Expand/Collapse) Hierarchical in ASP.NET DataGrid”

 

还有两个不错的实用注册表(使用请自己承担风险J)---这是我排名最Cool的两个实用注册表

;This adds the "Open Command Window Here" on the right click menu for folders

[HKEY_CLASSES_ROOT\Directory\shell\cmd]

@="Open Command Window Here"

[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]

@="cmd.exe /k \"cd %L\""

 

;This will add "Services" to the right-click menu of "My Computer"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\services]

@=hex(2):53,00,65,00,72,00,76,00,69,00,63,00,65,00,73,00,00,00

"SuppressionPolicy"=dword:4000003c

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\services\command]

@=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73, 00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,6d,00,63,00,2e,00,65,00,78,00, 65,00,20,00,2f,00,73,00,20,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52, 00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00, 32,00,5c,00,73,00,65,00,72,00,76,00,69,00,63,00,65,00,73,00,2e,00,6d,00,73, 00,63,00,20,00,2f,00,73,00,00,00

  

 
 

Time: 17 Aug 2003 - 24:56:18 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

FX 1.2 新的类库和Downlaod

 
 

 

很晚了UploadFX 1.2的分发库,你可以在这里获得Download(19M),再一看CSDN已经有人发帖讨论了- dotnet1.2特征 System.Collections.Generic 讨论,而且也提供了SDK和分发库的安装。

 

没有dotnet1.2的请到http://www.lostinet.com/files下载。

当前是alpha版。

建议只做测试,不要用来升级服务器。

从发稿的日期估计也是Yukon的测试用户,因为好像是一个版本。

我不明白最后的争论到了.NET Framework Generics类的性能和执行速度上的争论了。

 

新的版本会有很多功能和特性上的改变,其中有些让你爱不释手,但是有些并非让你一下就可以接受,也许这里面有相当的学习曲线,但我认为FX1.2->FX2.0需要你掌握和熟悉之前的FX1.1FX2.0不是补丁而应该是基于FX1.0基础上的新发展。

 

Microsoft.Win32.SafeHandles

System.Net.NetworkInformation

Microsoft.Build.*

System.Runtime.InteropServices.ComTypes

Microsoft.CLRAdmin

System.Security.AccessControl

System.Collections.Generic

System.Security.AccessControl.Interop

System.Configuration.Provider

System.Web.Administration

System.Configuration.Settings

System.Web.Compilation

System.Data.Mapping

System.Web.Management

System.Data.Mapping.RelationalSchema,

System.Web.Personalization

System.Data.ObjectSpaces

System.Web.UI.Adapters

System.Data.ProviderBase

System.Web.UI.Image

System.Data.Sql

System.Web.UI.WebControls/Adapters

System.Data.SqlXml

System.Web.UI.MobileControls/Adpters

System.Net.Cache

System.Web.Util

 

 

这是我找的一些FX1.2新增的命名空间,从这上面很难看的出来时ASP.NETADO.NET还是语言方面的变化更大或是功能更丰富,但是有一点我认为这是不错的建议,那就是.NET Framework的老手会从这里先开始,而对于一个.NET Framework新手,他应该努力先避开这些。

我认为目前对于许多人来说,缺少的不是热情,而是更全面具体的文档和更多的Samples

 

 

“中国威胁论”料将升温

名列美国十大纺织公司的皮洛纺织公司在730日宣布一举关闭其旗下16家工厂,辞退了6450名员工。这家已有113年历史的大企业倒闭后,美国媒体大事报道失业员工的困苦,使得美国人民对供应便宜纺织品的中国开始悄然改变了态度。

 

根据上期的美国《商业周刊》报道,中国的“软件服务外包业”(在中国的名称是“越洋软件工程”)在2000年只有约2亿美元,远远不及印度同业收入的57亿美元,但是,到2004年中国越洋软件工程的收益将达55亿美元,到2006年底将增至270亿美元,和印度并驾齐驱。

结论是,印度让路吧,中国才是软件服务外包的明日之

 

-----我相信有关纺织业的评估远胜于对外包软件的评估和数字,我认为这个数字过大,其本身就是在制造中国威胁论J

  

 
 

Time: 16 Aug 2003 - 24:56:18 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

有关Blog

 
 

 

今天去了zheng的网站,这么叫主要是因为我一边都去BlogCN.org的原因,今天看到的Kaien写的Blog FrameWars的文章,的确OSNew进行Comment的人非常的多,简单的一个帖就会有许多人去Comment,而且许多人彼此之间非常的熟悉,我想许多人是因为了解WebLog的作者才会选择去看他的WebLog,才愿意分享之前的一些共同话题,某种程度上,我并不接受现在有些Blogger提倡的团体WebLog,中国的Blogger发展还需要时间来锻炼自己,但WebLog的聚会我认为非常地好,通过一个具体的方式将一个有共同爱好的blogger每天的内容聚合起来,别的我不知道,但是像dotnetWeblogs 这样的网站就非常的不错。

Kaien 说对于不少专业Blog或欲成为网络媒体的blog来说

1.         postscomments的比例。

2.         编辑群

3.         Flame War

这三点都是衡量一个Blog的重要指标,当然他的意思都是越多越好。也许对于商业网站或欲成为网络媒体的blog这是对的,但对我来说,一个成功的WebLog应该是Blogger本身生活的很快乐,同时他也可以通过WebLog认识更多的朋友,特别是一群志同道合和彼此喜欢的朋友。我想当你每天去新浪看新闻和你去自己喜欢的那个Blogger上看他的WebLog的感觉是截然不同的,正是因为这种微妙的感情才造就了Blogger的快乐和阅读者的快乐,当两个正向的感情波纹互动的时候,才可能产生下一个延续的力量。生活工作如此,人际交往如此,Blogger之间也是如此。

zheng认为Blog的一个重大力量在于人们从小就喜欢听故事彼此之间也喜欢说些(分享)故事。我想,这才是Blog具有旺盛生命力和维系的基础。(我表示60%的赞同)

当然最后不要忘了去这里做一个调查,无论是否你期望的结果,问卷中的许多问题让我沉思和思考,做怎样的Blogger的问题。

 

MSBlast Worm还在肆虐,似乎要过了这个周末才算疯狂的终结。今天看到新闻说Blaster threat extends to Cisco kit,病毒倒是没有对我造成什么的大的损失,但是无疑发现网络变得越来越重要。

这是朋友送给我的小工具,你可以将它用于本机,当然更多的时候是在公司的局域网段上检查,所有的PC是否都已经安装了必须的补丁和防范措施,之后我在MSDN上面也看到类似的软件,只不过起的名字不同。而我则建议先暂时对端口135关闭-使用Windows200/XP/2003 TCP/IP filtering.

 

C:> KB823980Scan localhost

Checking 127.0.0.1
127.0.0.1: patched with KB823980

<-> Scan completed
Statistics:

Patched with KB823980 = 1
Unpatched = 0
TOTAL HOSTS SCANNED = 1

Needs Investigation = 0
Connection refused = 0
Host unreachable = 0
Errors = 0
TOTAL HOSTS SKIPPED = 0

TOTAL ADDRESSES SCANNED = 1
 

  

 
 

Time: 15 Aug 2003 - 09:29:21 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

Smart Client Technologies

 
 

 

什么叫Microsoft Smart Client Technologies,这个Smart Client Readiness Program for ISVs Program里面有关Smart Client的概念性描述,微软不久(也许三个月前我忘记了)更新了Smart Client的定义J 这里有一个免费的Slide,有讲述Smart Clinet最神奇的地方-“非接触部署当然也可以叫Internet部署.

而我更简单的定义Smart Client就是丰富的UI+ 方便的部署,从技术上讲Smart Client = CLR + Windows UI Control + Internet 部署。第一次知道Smart Clinet是两年之前,看到Billy Hollis的文章Death of the Browser?才深受启发,记得当时将一个WinForm 程序战战兢兢的Copy到一个IIS的虚拟目录中,然后到旁边那台PII的老机器上的IE中输入URL,当时望着启动的屏幕呆站了许久,但那时还是只知道神奇不明白为什么。直到四个月后我才在一个偶然的机会知道”No Touch” Deployment,再之后我才完全的明白这其中的一切。 但我知道今天还是有许多人不知道什么是Smart Client技术,当他们惊讶的看到Smart Client的演示之后,我心中有一丝的喜悦,当然也有少许的愕然。

 

有两家.NET顾问公司的消息,一家是Extreme Logic,今天CNET上的新闻说,这家公司将可能被HP购买。

“Hewlett Packard on Wednesday bolstered its expertise in Microsoft's .Net software with the acquisition of consulting firm Extreme Logic.” ,开个.NET 的顾问公司吧,估计一年之后也会像.COM公司一样被人疯狂抢购J

另一家是Clarity Consulting公司,它没有Extrene Logic现在这么出名,但我更喜欢这家,你可以到下面的两个连接发现可能对你有用的资料。

dotNet Presentations

Code Samples

 

Google ToolBar 2.0我有提到过,今天我发现了有趣的功能,你可以把Google当作一个计算器,只要你在搜寻框中输入计算表达式,那么确定后,就会有一个计算结果的页面出现。具体的见这里

前天听是Google可以用~号找同意词,比如http://www.google.com/search?q=~Tools

这下可好,过一阵Google再推出来一下本地化的服务算了,比如输入星座出星座爱情分析,输入地区查邮编;输入人民币出当天外币兑换表;输入深圳还可以查当天广深火车时刻表。。。。

 

 
 

Time: 14 Aug 2003 - 24:56:18 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

为了忘却的纪念

 
 

 

MSDN - Building Interoperable Web Services: WS-I Basic Profile 1.0

This guide covers WS-I Basic Profile contents, use within Microsoft development tools, coding compliance challenges, degrees of freedom for customers and best options based on technical and non-technical requirements.

Download Building Interoperable Web Services: WS-I Basic Profile 1.0 in .pdf format.

 

Don Box在自己的WebLog上写到” RPC/Encoded is dead. Long live doc/literal. -- I owe Yasser $10”,我想有关的WS-*本身就充满了外交和斗争,WS-I Basic Profile绝对是一个里程碑。RPC/Encoded is dead也许是真的,但是现在几乎80%WebLog系统都是遵照XML-PRC模式的。但RPC/Encoded的方式会慢慢的走向没落和衰退。

也许你对这个WS-Basic Profile的发表没什么概念也不知道什么RPC/EncodedDocument/Literal,而我也必须承认我不属于会讲故事的人,但我依然愿意把我知道的给你讲成一个故事,也许我讲得清楚的话你也许真能明白了。

故事发生在1998年,当时DevelopMentorMicrosoftUserLand Software的人组成了一个小组,试图解决COM/DCOM、分布式PRC调用、CORBARMI这样强大、复杂而又明显有缺陷的分布式应用协议带来的麻烦和困难,试图寻找更好的解决方法。当时大家都试图使用XML技术,将调用转换成包含指令的XML文档,然后通过HTTP发送给远程系统,触发远程系统的响应或某个功能操作。原理非常的简单,但当时没有一套基于XML的模式语言或类型系统,所以大家花了许多时间用XML构建和定义一个类型系统。

根据Don Box自己的说(别试图找到postsoap.html这页),原定SOAP是在1998年底发表,但是由于设计XML SchemaTeam和设计SOAPTeam冲突(另外的一个版本是微软内部的政策调整导致,还有一个版本是说当时微软内部的政治运动),导致SOAP可能无限拖延下去,当时小组的成员之一,也就是UserLand SoftwareCEO--Dave Winer自己发布了一个XML-PRC的规范XML-PRC规范使用了当时制定的类型系统的一个子集,这些类型也是SOAP最初最基本的类型。从此Dave WinerDox Box 以及Microsoft有了很深的分歧(无论是技术的路线还是私交上,我建议你可以看Dave's SOAP Journal Part1Part2Part3 )

       Dave这一生即使在SOAP取得胜利的情况下,依然愿意保持XML-PRC的自我意志,他即使with SOAP Interop来支持SOAP,也不愿意改变XML-PRC

 

XML-RPC比起SOAP有三个非常大的分歧:

1.   不包含XML Schema。这可能是和Don Box最大的分歧,间接的XML-RPC也就不支持WSDL,这也使得我这样的.NET爱好者无法对XML-RPC产生一个Web Services的代理类,进行.NET WebLog编程。

2.   SOAP envelope的支持。对于报头可以扩展和进行携带附件(Attachments)

3.   HTTPXML-RPC的出错处理和HTTP相关,并且XML-RPC只支持HTTPPOST

总的说,XML-RPC简单有效,是一种工作在Internet上的RPCXML-RPC消息是一种HTTP-POST请求。请求的内容是XML,请求和响应的过程在服务器上执行,它的返回结果也是XML格式的。

Don Box是一个天生的“数据中心论”者,他坚信XML的发展和应用必须围绕着数据和可编程而不是文档,XML一定要可以被程序进行编程和访问,这一点你可以从他的书Essential XML中得到一些验证,但是在当时XML Schema发展缓慢的同时,他要坚持这样的想法将是多么痛苦的,Dave的做法无疑给了当时的Don Box一个沉痛的打击。这导致几年之后,Don Box在讨论组深情的发表 Announce: A brief history of SOAP的时候依然和Dave进行口角,Don Box就近乎哀叹的反问Dave

"Without a machine-readable metadata format, there are too many opportunities for misinterpretation, especially when bridging to type systems that have a strict type system (e.g., Java, .NET, C++/COM, JDBC). This got hashed out on the SOAP list ages ago."

如果Schema再发展快2年也许SOAP可以更早更先进的出来,之后的故事大家也许都知道了IBMLotus加入了进来,当时和IBM最大的分歧是在于HTTPIBM甚至想废了或重新改造HTTP。开始的SOAP几乎只讨论HTTP的情况,而IBM的第一个SOAP 实现是在SMTP上而不是HTTP

1999Q4出台的SOAP 1.0 最大的变化是将原来的类型系统替换成XML Schema Part2 Datatypes SOAP 1.1则是作为IBMMicrosoftDevelopMentorLoutsUserLand几家公司之间的一项合作成果提交给W3C的。许多人都感觉1.01.1的变化并不大,但如果你仔细看会发现在网络传输协议的适用性上面发生了一些变化。而W3C随后成立了一个专门的小组,当时讨论的重点不是HTTPSchema,而是是否要将这个协议修改成一个正式的标准,这时产生了SOAP 1.2 Working Draft 1

       SOAP凭借着XMLHTTPXML Schema的力量确定了自己的地位。从而使得自己没有绑定到任何一个硬件平台、操作系统、编程语言、网络硬件和软件厂商上。完全是建立在开放标准的顶部,比如HTTPXML。利用这些广泛支持和知名的标准,SOAP使自己让开发人员易于接受和编程,并被现在几乎所有的基础设施支持。当然SOAP 也有其缺点,大量的XMLXML Schema可能会使传输的数量增大、HTTP协议的无状态性、安全和可靠信息传递处理的标准都仍在继续制定过程中。

       但是之后的故事可能让你振奋,WS-Security小组的出色表现,让MicrosoftIBM获得了更多的控制权和推动力,而WS-I Basic Profile 1.0则规定了创建Web ServicesWeb Services Client的建议做法和规则,同时提供了一个样本程序和测试工具。带来的好处是一个直接的里程碑,间接的好处是终于有一个一个一致的声音和标准(这些可以通过后面的URL得到具体的信息),离所有程序员互通互用的小康世界又走进了一步。

      

知道了这些你就可以明白前面所说的RPC/EncodedDocument/Literal的差别,当我们序列化或反序列化SOAP消息的时候(serialization/deserialization)有两种常见的风格RPC/EncodedDocument/Literal

RPC的方式下序列化或反序列化要引用SOAP1.1section 5 encoding” Rule来对objects, structures, arrays, and object graphs进行序列化,同样返回的消息也和XML-RPC类似,而不用考虑什么SchemaDocument/Literal则相反,完全根据XML Schema进行效验和序列化。

这具体的差别你可以看RPC/Literal and Freedom of ChoiceCustomizing SOAP Messages,这两篇文章太经典了,我当初是看后一篇SDK中的文档搞清楚的。

ASP.NET支持这两种风格,但是缺省的是Document/Literal方式,所以在下面的情况下:

using System.Web.Services;

using System.Web.Services.Protocols;

 

public class Person

{

  public string name;

  public Person spouse;

}

public class HRService

{

  [WebMethod]

  [SoapRpcMethod] // 需要加上这句,使用RPC Encoded - SOAP Section 5 encoding rules

  public GetccBoy()

  {

    Person ccBoy = new Person();

    ccboy.name = "ccBoy";

    Person Susan = new Person();

    Susan.name = "Susan";

    ccBoy. spouse = Susan;

    Susan.spouse = ccBoy;

    return ccBoy;

  }

}

这是一个业务常见,让程序员害怕的循环对象链(object graph containing a cycle)

所以Document/Literal也不是万能的,对于RPC-based SOAP messages according to SOAP Section 7的消息还可能需要你使用RPC/Encoded 的方式,但是这不是无法避免的,因为你可以根据业务的情况转化成Literal的情况。

 

而对于Don Box 今天的WebLog可能来自于DownloadPDF中第三章How to Apply the basic Profile 的第一节Recommendations for Creating Web ServicesRPC/Literal(21)的一段描述:

 

 

A .NET Web service does not support generating a WSDL description with an RPC/Literal binding. Also, .NET does not provide explicit support for creating a Webservice that accepts messages described by an RPC/Literal binding although you can still create a .NET Web service that will accept such a message. [R1007][R2203][R2211] [R2705][R2706][R2717][R2726][R2729][R2735][R2737]

 

Microsoft recommends using Document/Literal in describing and implementing your Web service. Microsoft tools provide much better support for Document/Literal then RPC/Literal. Generally, the intended difference between RPC/Literal and Document/Literal binding is the programming model that each implies (RPC vs.messaging). However, there is no difference in terms of the real data that can be sent or the actual programming model that can be used. Document/Literal does offer the benefit of allowing the entire SOAP body to be validated using a single XSD schema.

 

 

所以,那天我看了Don Box写的On Flowers时非常地感动,而今天对我来说,这应该是一个为了忘却的纪念。不知对Don BoxDave Winer以及许多参与过SOAP协议制定或这场战争的人来说,有什么样的意义,也许过去发生的永远无法忘记,而这一天是他们盼了很久而姗姗来迟的。

 

l          About WS-I Basic Profile 1.0

l          WS-I News

l          WS-I Member Testimonials

l          ZapThink White Paper Think WS-I (PDF)

l          "Web services group issues guidelines," --CNET news.com- Martin LaMonica

l          "A standard for integrating standards" ---InformationWeek --Charles Babcock

l          Paula's story on TechWeb

l          "Profiles will help in Web services building" --ADTmag.com --Jack Vaughan

l          Martin's story on ZDNET and BusinessWeek Online

l          "WS-I publishes Basic Profile 1.0"--- internetnews.com ---Thor Olavsrud

l          "WS-I publishes guidelines to enable Web services interoperability" – CRN--Paula Rooney

l          Paul's story on Computerworld Australia

l          "WS-I out with Basic Profile; SeeBeyond onboard"--- ebizQ

l          "WS-I Basic Profile 1.0 makes debut" --- eWEEK -- Darryl Taft

l          "Flamenco joins chorus singing praises of WS-I's Basic Profile 1.0" ---ebizQ

l          "WS-I releases Web services interoperability plan" ---InfoWorld--- Paul Krill

l          "WS-I publishes interoperability roadmap" ---SearchWebServices.com ---John Hogan

 

 

 
 

Time: 14 Aug 2003 - 11:49:20 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

真的,我早已经不使用国内的杀毒软件了

 
 

 

应该有些沉思和反省,我是这么想,也许我是片刻思考的实践者,但我认为这样的思考是有益的。比如今天我就在网站上看到这样的标题中国的杀毒厂商,别吹牛了。—另附蠕虫病毒解决办法,真的,中国的软件厂商并不理解客户的想法也从来不关注用户的用户体验,各家到处吵吵闹闹得宣布这个病毒的新闻、这个病毒的来源,仿佛这个病毒是在他们的授意下写出来的一样。而我看了一下自己的WebLog,自己记载MS03-026这个的公告和打这个补丁都已经过了近一个星期了,更别说微软 ,发表这个消息的时间更早了。所谓专业的杀毒软件公司,如果你要真关心的客户,早应该发信通知你的客户了。无论CCERT绿盟的分析看起来多么详尽和安全,但多少我认为带有一些广告和商业的含义。像赛门铁克就非常平静的在自己的网站上公布了解决办法,我喜欢这样的方式和公司。而对于我们每个人来说,也是一样,说得多做的少终究是一般人喜欢好大喜功意象模式,我想那些说“去你的 iduba.net”的客户有理由和权利选择国外的杀毒软件,看看韩国和日本在这次事件中的表现,中国的电脑使用者应该增强自己的自我保护。

IT的世界永远没有坐等第一的好事,5年前我听到十倍数的Intel的时候,还感觉这个速度太快了,而今天看见新闻AOL TimeWarner董事会讨论决定去掉名称中的AOL时,我才知道十倍速是怎样的速度,失败的速度是多么的快,几乎是一眨眼,而任何学习新技术的人也一样,停顿的感觉是多么的可怕----超过十倍速的下滑。

 

我转贴了Neowin的解决办法

 

Thanks xStainDx for the following information posted in our Back Page News section of the forum.

1.       Patch Your System with the appropriate MS03-026 Patch

2.       After Installation of the Patch, Reboot your system.

3.       Download and run "FIXBLAST".exe to remove the MSBLAST.exe file, terminate the process and remove added registry keys by the worm.

4.       Reboot your pc one last time.

5.       Visit WindowsUpdate.com more often and take note of our repeated warnings to keep your system updated.

Result:
Your System will no longer shutdown after 60secs, please follow the steps above to remove the worm off your computer and return your system to UPDATED safe status.

UPDATE: If your having problems installing the patch within the 60 sec, when you see the window pop up telling you 60 sec, Go to Start, Run and type in shutdown -a. This will cancel the shutdown attempt. Thanks Sub for this tip!

Download: Windows XP Patch | Windows 2000 Patch
Download: FixBlast - W32.Blaster.Worm Removal Tool
View: Symantec Security Response - W32.Blaster.Worm Removal Tool

 

 

另外我没有使用W32.Blaster.Worm.Removal Tools,因为我感觉这可能需要很长的时间。

我更喜欢 -- Shutdown  /r /t 00  |  Shutdown  /s /t 00 | tasklist /svc  | taskkill 这些Dos命令

 

the 1000 leading corporations' Web sites会使用谁家的产品呢?不是Apache而是IIS,看到那幅图我想IIS获胜的原因是它的版本更单一和易于管理另外我敢说EnterpriseApacheBug和补丁绝对不会比IIS的少。

--- From Sudhakar Sadasivuni

 

Port80 Software conducts monthly surveys of the 1000 leading corporations' Web sites to determine their Web server software. Review our current survey results, test your own site now with our header check tool or look up a Top 1000 Web server below.
Major Changes from Port80's January 2003 Survey:

  • Despite substantial changes to the list of companies from 2002 to 2003 based on shifting fortunes (Enron did not make the cut, among others), the overall market share of Web server software among the Top 1000 corporations remains relatively constant
  • Already 0.5% of the Top 1000 have moved to Microsoft IIS 6.0, with companies like CDW, Martin Marietta Materials and Warnaco utilizing Windows Server 2003 and IIS 6.0
  • Netscape continues its historic decline amongst the Fortune 1000 in July's survey, losing 2.4%
  • Survey data indicates a general shift from Microsoft IIS 4.0 on Windows NT to Microsoft IIS 5.0 on Windows 2000
  • Microsoft IIS, Netscape & Apache each lose a percent or more to Other types of Web servers in July's survey.

 

Google ToolBar 2.0 正式版发布了,可以使去Downlaod试一下。明天我将可以21M.NET FX 1.2的分发库Upload到我的网站上,终于解决了空间限制的问题,但56K的猫还是很慢。

 

我并不只想听你讲话的内容,还想要体会言外之意。

我不会只抓住你字面上的意思。深挚的情感往往透过慌乱的文辞表达而出。

我希望你无所不谈,不是真心话都没有关系。----言外之意

 

 
 

Time: 13 Aug 2003 - 09:28:40 PM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

深夜的愿望

 
 

 

明天讲的Topic” Designing the End to End .NET Application”

里面包括有Smart ClientCLREIFGC,当然还有数据库编程的秘密,先休息一会,独家披露一把:

 

     

 


 

如果说数据库高效编程有一个80/20原理的话,那我认为应当是性能/数据库连接,我坚信我们往往忽视了一个非常非常重要的对象- Connection,或是轻率使用和处理它。我认为数据库编程的最大的目标和首要的目标是消除对数据库对象处理的莽撞。

这是总结的一些连接漏洞,当发生下面的一个或多个现象时,我将认为你处理的肯定有问题,性能的漏洞首先可能是你没有智慧和优雅的处理好Connection

n        在应用程序压力很小的时候,数据库连接数量持续增加,直至达到连接池大小的极限

n        负载稳定但比较大的情况下,应用程序开始建立越来越多的连接很快达到最大连接数

n        应用程序对Open方法,引发超时的异常

n        应用程序单个运行很好,但随着用户量的上升,很快速度变慢,渐渐崩溃

n        应用程序在压力运行下反应缓慢,并显示出数据库机器低处理器的使用

n        压力保持恒定,IISApplication Server CPU使用率很小,数据库服务器CPU使用也很小,但是数据库不断发生某个库或表的堵塞并快速的转化成资源锁或互锁。

 

 

猫有九命---GC

class TheCat

{

       int numLives;

       public TheCat()

       { numLives =9 ;}

      

~TheCat()

{

       if ( numLives > 0 )

       {

              Console.Out.WriteLine(“In Finalize:{0}”,numLives);

              numLives -- ;

              GC.ReREgisterForFinalize(this) ;

       }

}

}

 

Interactive Mapping Using SVG & ASP.NET--- By Adnan Masood

Cool了,有人曾问过我,如何在Web上实现对图片的复杂操作,比如地图定点和浏览、工业控制的流程控制视图操作、机械图或电路板的Web交互,用.NET 如何实现? X@@#$??? 多好的问题,但是用.NET??? 今天看了Adnan的文章特别的启示和感想,不错不错,建议珍藏,多有创造力。况且还有许多SVG的资源,要留意一下SVG for .NET的东东了。

 

One ought, every day at least, to hear a little song, read a good poem, see a fine picture, and if it were possible, to speak a few reasonable words. –Goethe

 

也许这些愿望在今天都达到了,也许达成愿望的人是幸福的;但是此时我还反复犹豫的交织在PPTWebLog.浏览网页和哈欠连天的拉锯战之间----现在就睡还是做完再睡;无论如何,使用Microsoft PowerPoint Visual Studio.NET都一样的有趣和让你感觉到创作感,显然我喜欢花更多的时间在后者,但有时当你被迫在深夜4点后还在写Slide的时候,你会发现Visual Studio.NET并不能帮你太多,那将是一件多么无奈而又需要苦笑面对的情景,就像此时。

 

 

 
 

Time: 12 Aug 2003 - 04:34:50 AM | Posted By: ccBoy Henry | 有话要说/comments  

 
     
 

xp_regex: Regular Expressions in SQL Server 2000

 
 

这是一个非常有趣的问题,用来考察你对SQL、正则表达式、.NET Framework的综合问题,DatabaseProNew上面有一篇文章xp_regex: Regular Expressions in SQL Server 2000,其实是转载CodeProject上面的一篇文章,因为作者是一个人---Dan FarinoDan FarinoManaged C++写了一个Regular Expressions Library,主要是利用.NET Framework中的Regular Expressions的功能,Dan Farino认为用.NET Framework 中的 Regular Expressions比使用Boost Regex++ Regular Expression Library要更快和省力(那是当然J)这样你可以在存储过程和SQL语句中使用正则表达式了,那将非常的方便,看看他文章中的例子,自己再试两个。原理上也非常的容易理解,就像SQL 2000支持你调用一个COM组件一样。比较有趣的是Dan用了.NET FrameworkCOM Interoperability。所以第一感觉很有趣非常的Cool,第二开发很快相当简单,Dan也说.NET Framework Regular Expressions Library 的实现非常好可以和Perl 5.6Regular Expression相媲美。

 

当然这个Sample也是一个跨越。因为它挑战了Microsoft KB article (Q322884)的这条规则,Microsoft认为这并不可取,索性声明不支持,但我感打赌DanSamples是真实的一个例子。

当然这也给我一个非常好的思考,尽管xp_regex非常的Cool,你会将它用于生产和项目中吗?永远不要,这是我的想法。在Yukon没有发布之前,不要使用这样的功能。SQL也像一个操作系统一样会管理自己的内存和进程空间,但我想它和CLR的这种关系是通过COM Interoper进行的,事实上它们之间维系着COM最古老的计数原则和协定,但这一切并不足够的稳定和可靠,至少我这么认为,如果是一个Win32’sDLL,那么还可能,这个DLL可以加载到SQL的进程空间中去,但是.NET 组件我不认为会和Win32’s的情况一样,更况且高度的商业应用环境中假设一分钟有100个事务,只要其中有一个这样的存储过程并且出了一点问题,那么我想这就是非常致命的,这就如同某种情况下我们将Word/Excel放在IIS中做一些OA的项目一样,非常可能导致IIS 崩溃一样。

也许正是如此(我是猜想,从文章发布的日期看出J)Dan Fraino还有另外一篇文章:xp_pcre - Regular Expressions in T-SQL,这次Dan没有使用.NET Framework,使用了C++PCRE,我想这是一个谨慎而沉稳的做法。Dan在最后对几种实现方法对Unicode的支持,做了一个结论,我附在后面:

Unfortunately, this version does not support Unicode arguments. Potential solutions include:

1.       Use xp_regex. Internally, the .NET Framework is 100% Unicode .

2.       Use the Boost Regex++ library. Unfortunately, this means giving up a lot of the newer regular expression functionality (zero-width assertions, cloistered pattern modifiers,