come back ……
星期四, 07月 19th, 2007
近来,我终于重新打开了IDE,埋头coding起来。那些喧嚣和嘈杂终于远离了我,或者被我转化为一行行代码罗织在一起,一切显得那么简洁、有序。
终于,我回到了我自己的世界……
ASP.NET2.0的编译部署和VS2003到VS2005的项目迁移.2
星期五, 07月 6th, 2007
接着昨天……
VS2003到VS2005的项目迁移远没有想象的“可怕”,如果你只是转化为VS2005SP1支持的Web应用程序,那几乎没有什么多余的工作可作,使用VS2005打开SLN项目文件,随着向导一路按下去就可以完成转化工作了。
我的项目中有2个Web项目,转化时会在VSS中签出工程中的所有文件——如果不是VSS那么应该需要事先手动签出,转化会自动识别隐藏代码文件中的控件声明,并转移到一个新建的.aspx.designer.cs文件中,以此来实现兼容。
出现的问题
- 部分文件无法识别,导致控件声明重复、缺失。这个很简单,可以删除.aspx.designer.cs文件,仍然使用原有的代码隐藏声明模式,或把隐藏代码中的声明删除,迁移到.aspx.designer.cs文件中,都可以很方便的解决。
- ASP.NET2.0会有一些新的推荐方法替代旧的方法,例如最常用的可能就是读取AppSettings的方法了,虽然旧的方法仍然可用,不过只需要通过简单的“查找/替换”操作就可以在解决方案内替换所有会被编译警告的方法,追求品质嘛。
- 回发或回调参数无效,这是一个兼容异常,通常是由于页面存在多个form或有js在客户端修改了数据造成,在ASP.NET1.1中会兼容这个异常不会报错,但是2.0中无法运行,需要进行修改。
这些是我在迁移中遇到的异常,更多的可以参考我昨天的文章 http://linnchord.net/archives/10
ok 祝大家顺利迁移,奔向2005 …… 2007就快出来了啊……
ASP.NET2.0的编译部署和VS2003到VS2005的项目迁移.1
星期四, 07月 5th, 2007
旧有系统总在不停的维护中,这两天维护一个网上商城的系统,我试图把他迁移到ASP.NET2.0/VS2005环境下。
由于种种关于迁移失败导致崩溃的信息给我带来的恐惧感,我花了一个下午的时间查询相关资料,详细考察了ASP.NET2.0/VS2005的编译部署机制和相关迁移文档,以确保整个过程顺利实施。
网上相关文档
- ASP.NET 2.0 中的代码隐藏和编译
- 非常 ASP.NET: Web 部署项目
- 常见的 ASP.NET 2.0 转换问题和解决方案
- 将博客园程序从Visual Studio 2003迁移到Visual Studio 2005的尝试
- .NET1.x升级到.NET2.x问题小结
首先需要确定迁移到哪种项目模式下。根据文档的描述,在VS2005中的ASP.NET网站有下面几种编译部署方式。
- Web网站项目:VS2005提供的新的Web项目模式,没有项目文件控制,直接把一个物理目录视为项目,目录中的所有文件都是项目文件。
- 完全编译:通过“网站发布”功能,在发布对话界面上取消所有选项(包括默认选项),可以将网站所有.NET文件(aspx/asmx/ashx/cs…)全部编译为一个DLL程序集,留下的只有非.NET相关的其他图片、样式表、js等文件和aspx占位文件。你可以打开占位文件查看,里面什么内容都没有……呵呵,这真是一种有意思的部署方式,可惜,这绝不适用于大多数一般网站开发项目。
- 可更新预编译:这是VS2005默认的编译模式,在“网站发布”中选中“允许更新此预编译站点”,这样会保留aspx等非后端隐藏代码的程序文件内容,使你可以方便修改HTML内容并即时生效。这种部署方式最大的问题在于aspx页面会在发布时自动指向程序集,而每次编译的程序集文件名会发生变化,这就导致如果你修改了任何一个程序逻辑并重新编译,就不得不上传所有网站内的程序文件……这在实际网站开发中几乎也是不可接受的,且不论重新上传所有页面的操作代价,这几乎就否定了网站上传后其他人员如设计师直接修改aspx页面的可能,除非将设计师的工作也置于代码控制之下,这是难以实现的。
- 固定命名和单页程序集编译:这个选项会解决上面的随机程序集命名问题,这个模式下的编译会把每个ASPX文件都编译为一个单程序集,每个程序集后会添加随机数,不过这个随机数是固定的。我试图查找这个随机数的生成依据,不过没有找到,推测应该是根据解决方案中的GUID。把这个选项和前面“可更新预编译”相结合,可以得到较好的编译方案……好吧,我得承认我忽略了生成数十或者以百计的单页面dll的繁琐,不过这是一个优劣并存的方案,因为当你只更新一个页面的逻辑时,可以只上传一个较小的dll,且不影响整个网站的运行,这也是一个不错的优势了。
- 完全源码部署:这是一个很省心的方案,不做任何编译,直接COPY部署就OK,不过这是另一个极端,估计很少情况会采用——不过可以用来做测试部署,很方便。
- Web应用程序项目:MS认识到到了“Web网站项目”带来的种种问题,在VS2005SP1中正式提供了这个原有的VS2003的项目模式。这样可以指定目录中的文件为项目文件——必须承认这是一个不可放弃的优势,所以虽然新的“Web网站项目”也有种种优势,但是我还是不得不采用这个“老”方案了。可以想象,如果采用新方案,我就得面对项目运行维护时在项目目录中骤增的数以百计、千计的运行时文件,还不得不接收由此带来的超长时间的编译及发布copy,这会使人崩溃的……
编译部署的方案就是上面这些了,VS2005的网站项目应该说是有很多优势的,不过用一句老话讲,这些改进并不符合中国国情,或者至少不符合一大部分中国网络服务供应商的运行状况。这些改进都是需要在业务相对稳定,有较严格代码控制等情况下才能较好的实施,而中国目前估计除了企业开发外,在一般的网络运营下少有这样的环境。其实从这些改进和现状的冲突,就可以看出国内和国外行业水平的差异,呜呼哀哉……
写太多了,迁移稍后吧……
a girl – skyhorsebook suesue
星期三, 07月 4th, 2007
在第10期NewWebPick上看见一个中国女孩。
他的画
她的blog
存活在这个的世界,常常有些无聊和沉闷。然而不经意的,总有一些人或事物冒出来,新鲜的、梦幻般的、充满生趣的、孤独的、寂寥的,等等等等,不一而足,令人或感伤、或沉浸、或微笑、或落寞……种种情绪,纷沓来,似乎唤起了某种存在感,人就变得鲜活起来。
其他一些信息,介绍她的页面上的name是skyhorsebook suesue,她是一个成都女孩,21岁,在北京中国交通大学读书—Communication University of China in Beijing不知道是不是这么翻译……不过这些都是无关紧要了。
魔兽世界 风暴前夕 to 燃烧的远征
星期四, 06月 21st, 2007
GFW是如何被突破的
星期二, 06月 12th, 2007
基于firefox的插件突破方案
转为flickr访问开发,安装即可使用,不需要任何配置,直接使用。
非常方便的web代理,可以访问一切被GFWed的网站。
终极解决方案,利用p2p自由无间访问全球网络。配合TorButtonFirefox插件,使用更方便。
Flickr GFWed
星期四, 06月 7th, 2007
log上的很多图片看不到了,flickr上的图片也看不到了,不过加了tor以后可以访问……很显然,flickr被GFW和谐了……

wowchina.com reload
星期四, 06月 7th, 2007
wowchina.com改版了。
- 基于linux/php的CMS系统构建;
- 网站重建是抛弃型的,原有网站和内容完全放弃(原有网站变为old.wowchina.com);
- 基于web标准模式构建——基本放弃了原有的table布局——可以预计下一次改版可以实现无缝迁移了;
- 集成jquery框架,估计用于标签切换,新闻下滑预览等;
- 设计细节非常漂亮;




Vista Done!
星期三, 06月 6th, 2007
不知命,无以为君子;不知礼,无以立;不知言,无以知人。
星期二, 06月 5th, 2007
前两天,游途中看了孔庆东在百家讲坛讲论语,最末是这句全篇的总结。似乎当时时间不够,匆匆忙忙,也没说清楚,这里特别找了来,摘抄如下。
http://www.chinakongzi.com/2550/big5/book/view.asp?id=934
『原文』
孔子曰:“不知命,無以為君子也;不知禮,無以立也,不知言,無以知人也。”
『譯文』
孔子說:“不知道命運,就不能夠做君子;不懂得禮,就不能夠立身;不識別言語,就不能夠識別人。”
『讀解』
這一章是《論語》全篇的總結。孔門的學說最后落腳到命、禮、言三個支點上,說到底,還是立身處世的學說。
關于“命”的問題,在《為政》篇里,孔子自述“五十而知 天命”。在《季氏》篇里,孔子說“君子有三畏”,其中第一畏便是“畏天命”,而“小人不知天命而不畏也。”孔子所說的命,按照我們的理解,既指宇宙的自然規律,也指社會的發展,歷史的 變遷規律,最后,還包括個人由于所處環境和時代趨勢而造成的 命運、歸宿。所以他說“不知命,無以為君子也。”如果你不知道 這些,沒有自知之明,你怎么可以把握住自己呢?話說回來,孔子自己不也是“五十而知天命”,到了半百之年,人生都走過了大年歷程才知道自己的歸宿的嗎?又何況我們這些人呢?
關于“禮”的問題,在《泰伯》篇里孔子已強調過“立于 禮”。在《季氏》篇里教儿子孔鯉時又說過“不學禮,無以立。”所以,其觀點是一脈相承的,都是認為個人立身處世离不開禮。這里的禮,正如我們在前面已經說過的那樣,不是指什么具体的禮儀、禮節,甚至也不僅僅是指禮制,而是包括所有這几方面在內的傳統禮義,相當于我們今天所說“傳統文化”的概念。既然如此,一個人不懂得禮,怎么可能在這世界上立身呢?更不用說做一番事業和成就來了。
最后說到“言”的問題。這方面的論述,在《論語》里更是不少。比較典型的如《學而》篇說:“巧言令色,鮮矣仁。”公冶 長》篇說:“始吾于人也,听其言而信其行;今吾于人也,听其言而觀其行。”這些都是說的一個人的言語和實際品德的關系問題。所謂“万丈深潭終有底,只有人心不可測。”所以,語言与內在品德,語言与實際行動的問題一直苦惱著孔子及其弟子。好在,“語 言是思想的直接現實。”識別一個人的言語,多少還是可以識別一 個人的。正如孟子繼承孔子“知言”的學說而力。以研究所說:“偏 頗的言語,你能夠知道它片面在哪里;夸張的言語,你能夠知道 它過分在哪里;詭辯的言語,你能夠知道它荒謬在哪里;躲閃的 言語,你能夠知道它理層在哪里。”(《孟子?公孫丑上》)這就算 知道一個人的言語了。反過來,“听話听聲,鑼鼓听音。”如果你 不能識別一個人的言語,那么,你就很可能不能夠真正認識這個 人,而很可能被他所蠱惑,所蒙騙。這就是孔子再次強調“不知言,無以知人也”的道理所在。
總而言之,命、禮、言三知為《論語》畫上了句號,但卻并沒有在我們每個人的人生實踐中畫上句號。知命、知禮、知言,我們到底又知道多少呢?所謂“半部《論語》治天下。”一部《論語》讀完,莫說治天下,就是治我們自身,又有多少体悟多少長進呢?這些都是留待讀者來回答的問題了。



