[Note]巧用etag实现304提高blog静态页面侧边栏
PJBlog3静态化以来受到大家的关注,同时也得到了大家的不少bug返回和建议。目前大部分明显的bug已经修正了,其中分享一下 静态化后 侧边栏慢的解决呵呵。经过试验,目前的侧边栏已经得到很大的改观了。
其实侧边栏的优化思路很简单,首先,静态页面里的侧边栏并不是全静态的,它能够实现一些简单的动态效果,例如登录框的表现,评论,访问数量等等。如果侧边栏每次都去访问服务器这样的速度肯定在,高速的静态页面下表现很慢。 最好的解决办法能够让浏览器知道如何才去获取到新的数据。
我们了解HTTP协议知道,304 是浏览器向服务器咨询内容是否有更新用的。朝这个方向去考虑,我打算让侧边栏实现304效果,只有服务器有更新才获取数据,没有更新让浏览器总是到本地的缓存去获取数据,以达到速度的提升。
看看我们的ASP是如何实现304的
- <%
- Dim id, tKey, clientEtag, serverEtag
- id = 0
- serverEtag = getEtag
- clientEtag = Request.ServerVariables("HTTP_IF_NONE_MATCH")
- Response.AddHeader "ETag", getEtag
- Response.ContentType = "application/x-javascript"
- if serverEtag = clientEtag then
- Response.Status = "304 Not Modified"
- else
- Server.Transfer "static_js_mod.asp"
- end if
- %>
服务端获取到客户端的etag后,和服务器的etag进行对比。如果相等说明客户端有本地缓存,于是返回304给客户端,否则加载侧边栏的数据。当然这个判断的消耗是非常低的,我们甚至不用访问服务器,只要访问服务器里的一个缓存的etag即可
摘要: 上篇文章得到了几位兄台的鼓励,也得到不少朋友的关注;考虑到这些和程序员的“职业道德”,我便以最快的速度把源码中的重大错误在这里进行纠正,并向关心、下载了的朋友表达 阅读全文
[新闻]《福布斯》:暴雪的新一波完美风暴已经到来
[没有分类]ASP.NET中进行消息处理(MSMQ) 三
摘要: 在PetShop 4.0中,利用消息队列临时存放要插入的数据,来避免因为频繁访问数据库的操作。而队列中的消息,则等待系统的专用的应用程序来处理,最后将数据插入到数据库中。 阅读全文
[新闻]中国互联网公司在哪儿
摘要: Timus 1013. K-based numbers. Version 3 要求计算出不包括相邻的零的 N 位 K-进制数共有多少个。 阅读全文
[新闻]微软:Silverlight内容也可被搜索引擎检索
摘要: 在C++/MFC中一般都有比较成熟的主窗口分割策略,但对于当前使用人数不多的新技术——WPF,很多技术还需要更多人加入其中,讨论一些比较实际的应用,主窗口分割就是其中比较常见的问题。本文将对此进行应用方面的探讨,并附带给出源码和截图,方便大家学习和研究。 阅读全文
[新闻]内置AI技术 三星聪明微波炉还能上网
摘要:

IE7的web标准之道
IE历来被web标准的拥护者所诟病,而当FireFox横空出世以后,更多的网页制作者开始关注web标准设计。看着FireFox的市场占有率不停的上升,微软终于推出了IE7。但IE7是否真的能够力挽狂澜,是否真的能够得到用户的信任,是否真的能够得到网页设计者的认可呢?
且看《IE7的web标准之道》系列文章,和你一起见证IE7的改变!
阅读全文[新闻]史玉柱称花掉8亿美元不容易 坚持谨慎投资原则
[没有分类]OOAD和SOA的一些个人体会
SOA作为整合历史的系统,和现有的各个分立的系统有先天的优势,但SOA作为一个革命性的新软件开发方法论的面目出现,更深层次的原因在于它对于复杂性的处理方式有别于以前的方法论。
我们可以简单的将开发的复杂性归结为对各个领域对象的状态的控制上,意思就是如果在任何时刻系统的领域对象的所有状态是明确可知的,那么就可以说这个系统是可控的。
可以推断出随着业务领域的复杂程度提高,领域对象会不断增长,这个问题还不是很大,线性增长,毕竟还是可控的,但是考察整个业务领域的状态来看,其复杂度是和领域对象个数成指数增加的。
在简单的业务范围,领域对象少,那么用结构化的方式也可以应付的,通过自顶向下的方式,将系统分解为模块和函数来控制系统。这个方法的弊端我想大家都很清楚了,就不赘述了。到底领域对象增长到多少这种方法就无法应付呢。这个没有具体统计,只是看到用这个方法论来指导的开发在实践中不断的失败。
这时候OOAD的方法论出来了,通过封装,继承,和多态的手段,各种设计模式如雨后春笋一样,可管理的领域对象数量得以大大增加,成功的案例不断增多,但是通过统计,我们还是不断的听到有一些大型的项目的投资失败了。
原因是什么呢,关键是对这个复杂性的处理,目前有两种手段,一个是加强对复杂性的管理水平,尽量穷尽各种手段来分解并管理复杂性。一种方法是减少复杂性。
OOAD方式是前一种,而SOA则是后一种。也许大家很奇怪,业务领域本来就是这么复杂,怎么减少他的复杂性呢?答案是分区,当你将业务领域分开为多个完全独立的区域的时候,复杂性就不是指数增加,而是变成线性增加的方式了,SOA通过提供软件自治概念,松耦合,无状态的Web服务,将各个部分变成完全独立的地址透明的服务,原来看来非常复杂的业务领域就突然变的不那么复杂了。至少复杂度不再指数增加了。
也许大家可能说什么自治,松耦合,无状态这些概念在OOAD里面也有啊,我也会将系统水平和垂直划分为很多个子系统和层啊,这个我相信,好的架构师会做到的,但是就整体来看,子系统并没有脱离系统,和系统在逻辑上和硬件上的耦合还是很多。
说了这么多,大家都是对OOAD是不是很失落呢,毕竟大家都是从OOAD走过来的,是不是要放弃OO思想呢,这个我想不是的,在一个相对可控的领域,用OOAD的方式可以很好工作,范围大了后,可以考虑在这个系统上提供出Web服务来也是可以的。当然想完整实现SOA的话,必须用整套方法论,以前结构化编程的自顶向下的思想又重新回来了,所以说没有什么是绝对的,要考虑上下文环境。
时间仓促,写的很粗糙。 欢迎大家和我交流 dfchengcn@yahoo.com.cn.
[新闻]微软七月安全公告预告:四个重要等级更新

得益于mod_aspdotnet.so,这个支持apache2.2的不好找,附上http://www.cnblogs.com/Files/xin478/mod_aspdotnet-2.2.0.2006-setup-r2.rar
有个支持apache2.0的,到处上,可以上网找。
安装后,打开httpd.conf,尾部添加
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
<IfModule mod_aspdotnet.cpp>
# Mount the ASP.NET example application
AspNetMount /wwwroot "f:/wwwroot"
# Map all requests for /active to the application files
Alias /wwwroot "f:/wwwroot"
# Allow asp.net scripts to be executed in the active example
<Directory "f:/wwwroot">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex index.aspx
</Directory>
# For all virtual ASP.NET webs, we need the aspnet_client files
# to serve the client-side helper scripts.
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) \"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>
其中,f:/wwwroot 是你机子上网站的根目录,/wwwroot是通过Apache来访问的路径。
运行下测试,
在IIS5.1下,
2000万次整数运算性能 62.5 毫秒
2000万次浮点运算性能 140.625 毫秒
apache2.2下
2000万次整数运算性能 62.5 毫秒
2000万次浮点运算性能 140.625 毫秒
时间一样,据解释是由于IIS和Apache下的ASP.NET都是运行在Common Language Runtime(CLR)的基础上,因此Apache环境下的ASP.NET程序的运行速度不会比在IIS下慢。
[新闻]雅虎:一颗棋子的起落
[没有分类]聊聊云计算(1):什么是云计算
IT界是一个特别适合“创新”的地方,尤其是各种各样的术语。各大厂商为了自己的利益,不断的推出一些新的术语,而媒体们也在不断的站队,跟着一些忽悠,搞得我们这些IT界的前线战士们一阵一阵得晕。刚刚有了B/S、C/S、SaaS、SOA、Mash Up以及S+S,现在又出来了云计算。
什么叫云计算?根据维基百科当中的定义(基于某种原因,可能无法访问维基百科):云计算(cloud computing,分布式计算技术的一种,其最基本的概念,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。透过这项技术,网络服务提供者可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级计算机”同样强大效能的网络服务。
很深奥的概念,相信很多朋友可能和开心一样,有些云里雾里,真的掉到云里面去了。而且在下面的云计算示例一节当中,又给出了两个简单的云计算案例,即搜索引擎以及网络邮箱。俺就有一些搞不明白了,按照这种示例,所谓的云计算,与B/S以及C/S架构到底有什么不同呢?如果再看看各大媒体举的例子,把一些在线文档编辑器也称之为云计算,那么云计算与SaaS又有什么区别呢?这不就是经典的新瓶装旧酒吗?
其实,云计算的先驱真的不是Google(谷歌)或者微软,而是亚马逊(Amazon)。让我们来看一下所谓的B/S以及C/S架构,如果从分层上来看,其实都是Client to Server的层次(只不过B/S中把C换成了Browser而已)。而无论在Client端还是Server端,都适用于经典的软件销售,在Client端,我们有Office、Windows Vista、Firefxo,而在Server端,则有SQL Server、Oracle、Apache。这些软件都适用于software license的销售模式(软件收费或者支持服务收费)。
而亚马逊的EC2则更改了Server端的software license模式,其最主要的含义是将软件的功能以服务的方式提供出来,然后根据类似于SLA(Service Level Agreement)的方式为其客户提供相应的服务。比如EC2当中的Simple DB,就是一个网络存储服务,类似于SQL Server/Oracle等等,你在开发的时候,不需要安装经典的数据库应用程序在服务器上,根本不用在意我的数据到底存在“哪块云里面”,而且开发的时候还可以使用原来的SQL语句进行CRUD(不知道CRUD是什么意思?赶快做一下功课去吧),任何时间,任何地点,任何设备都可以进行访问。听上去很美吧?
所以云计算其实就是C/S的一个扩展版本,简单可以描述为C to S to S (C/S/S),实质就是一个更新版本的SaaS,服务器端的Software As A Service。大小S之间进行计算以及数据的传输,最终把结果输给C,让C来展示就可以了。而云计算指的其实就是S to S这一端,所以与最终用户根本无关,甚至最终用户根本感觉不到这种改动,所改动的其实就是开发商如何采购其服务而已(是购买软件还是租用服务)。所以俺开心个人认为,传统的搜索引擎以及网络邮箱,或者在线文档编辑器(Google Docs)还称不上什么云计算(当然,你硬说里面也有S to S之类的云端交流,俺也不没有什么理由来说服你)。
ASP(Application Service Provider)其实也是云计算的一个先驱,但它是把应用构建在云端,而不是把服务构建在云端,所以造成了其上的二次开发商非常稀少,而没有建立起完整的生态链系统,最终进入到失败。而云计算由于只是把服务器端的Software更改为Service方式应用(云上的API),所以可以召募很多的二次开发商,从而快速得构建起完整的生态链。相当于IT界的一次洗牌过程,抓住了云也就抓住了未来,对于传统软件厂商来说,其危害要比Open source有过之而无不及。整个生态链可以基本上划分为云间服务提供商(相当于原来的服务器端的软件厂商:微软、甲骨文、IBM等)、应用开发商(基于服务构建应用的厂商,SI或者ISV等)以及最终用户等。
但云计算也不会一帆风顺,肯定会有乌云时期,有兴趣的话,可以去了解一下Amazon的EC2的业绩。我们可以先抛开欧美日印市场,从国内的IT环境来看,无论是从政策、技术或者信用等来说,目前还极度不成熟。非死不可(Facebook)本周在国内的突然病亡会在很长一段时期让大家对于云计算充满怀疑(谁又能够预料哪一天App Engine突然发动不起来了?),现有的云计算的开发模式对于重视技术迁移成本的开发商也处于观望状态。
所以云计算虽然看上去很美,但实际上要走得路还是很长。
在接下来的话题当中,开心还想聊聊云端的梦(从最终用户角度会感觉到的优势)、吞云吐雾的幻术(从开发者角度选择最好的云计算平台)等话题,欢迎大家交流。
[没有分类]也实现一个首页图片幻灯效果
摘要:
前几天,在园子里看了一个图片幻灯效果,很不错,不过今天想找却找不到了。这两天想把网站的图片幻灯效果给换了,原来的虽然做成了web控件,不过控件里硬编码了javascript和css,甚至还有document.write这样的输出,感觉很是不爽。偶然发现了一篇翻译文章如何使用 JavaScript 创建可维护的幻灯片效果,感觉原作者在构建可分离的javascript和css上颇有心得,不过这里和我想要的效果还有些差异,参照大部分国内网站的实现方式,应该能够实现定时的播放,同时在右下角还应该有一个序列号的指示,就像新浪网的首页那样,既然作者帮我们作了大部分的分离工作,剩下的这部分自己实现,也十分简单。
[新闻]Google音乐搜索即将上线
开始创建Silverlight的组件
Silverlight在嵌入式领域发挥的作用绝对不仅仅只有增加Web的用户体验而已。很多嵌入式设备需要丰富多彩的用户交互界面,比如ATM、自动售货机、自助查询终端、老虎机(喔)……Windows Embedded Standard的主要应用领域恰好在这几个方面,所以Silverlight对于来说Windows Embedded Standard来说是如虎添翼。可能有朋友也会说,我们使用其他技术也可以实现与Silverlight类似的界面,这个肯定是没错。但是考虑到与后台数据库或Web Service的交互、部署成本、维护成本等问题,我相信Silverlight肯定会成为开发者今后开发中的首选。
好了,先不说那么多,我们下一步要做的是将Silverlight变成WES的主界面,WES启动之后直接进入到Silverlight的应用之中。我们知道Silverlight是Host到IE等浏览器中运行的,在WES中也是这样,而Silverlight的部署有两种方式:第一种是将Silverlight文件部署到WES的Image中,随Image一起发布;另一种是让浏览器启动后访问Internet上的某个Silverlight站点。这两种方法有各自的应用场景,我们在这里不做过多分析。在这里,我们挑选比较难得一种:将Silverlight文件与WES的Image一起发布。
第一步,我们要创建一个组件:这个组件应该是一个Shell组件,在系统启动后不进入我们传统意义上的“桌面”,而是直接启动这个组件中指定的应用程序。而且组件中还应该包括一些Silverlight相关的文件、一些注册表项,还有一些高级设置。稍后我们会看得到。
我们还是先打开我们创建组件的工具:Component Designer。Windows Embedded Standard没有一个完整的IDE环境,所以做什么事情的时候要分别打开不同的工具。
Component Designer的界面如下,我们要先选择File-New创建一个新的组件,然后保存这个组件,并为sld文件设置一个文件名称。
接下来,我们要创建一个Repositories,这个相当于给组件住的房子。组件是保存在数据库中的,而Repositories在数据库中可以起到隔离组件的作用,而且也比较方便我们维护和升级组件。

我们右键点击上图中Repositories节点,选择“Add Repository”来创建一个新的Repositories。首先为Repositories起个名字,写在右侧属性窗口的Name中,然后还要点击Source Path后边的Browse按钮。Source Path顾名思义,我们要为该Repositories的源文件找一个保存的位置,而我们一般也会把组件所需的文件都放到这个文件夹下。这个文件夹一般没有规定,但是最好放到C盘下,自己创建个文件夹就可以了。
接下来,我们就该添加组件了,在上图的Components节点上右键单击,在右键菜单上选择“Add Component”。
创建组件之后,第一件事是在右侧的属性窗口中修改名字。

因为我们创建的这个组件是一个Shell组件,所以我们还要规定它在组件库中的原型组件,点击Prototype后边的Browse按钮。
我们会看到下图的对话框,初始化可能会花费一些时间。选择Software | System | User Interface | Shells下的Shell Prototype Component组件,作为我们组件的原型组件。

接下来还需要点击Advanced按钮,定义启动时的自定义动作:

在上面的对话框中,点击Add按钮添加一个叫做“cmiShellPath”的扩展属性,类型为String,具体指为:
%16426%\Internet Explorer\iexplore.exe -k "C:\SilverlightApplication2\Default.html"
怎么样看着眼熟吧,没错就是启动一个IE浏览器的实例,-k表示全屏显示,而后边的文件路径不是一成不变的,要根据你将这个HTML文件放到哪里而决定。如果是在线的网站其实更简单一些,直接写网址就好了。
然后为组件指定Repositories,点击“Repositories…”按钮,会弹出下面的对话框。好了,直接选择咱们前边创建的,就可以了。

然后到了非常重要的一步,添加文件。这个问题也曾经困扰了我很久,我们明天再说。
更多关于Windows Embedded开发文件,请参考:http://we.cnblogs.com/
[新闻]哪一个 Linux 发行版最流行?
[没有分类]软件开发中,不要把重点放在“雕琢”上
软件设计者,尤其是软件界面的设计者往往缺乏一种全局观,在设计时往往将精力和时间放在一些细节上面,像雕刻艺术家一样对很细小的地方精雕细琢,而实际上,将软件拿给用户时,用户并不是每个细节都很关注,比如说看看界面上的按钮大小是不是一致,线条是不是排列整齐等等,他们只会大致的观察,他们看重的是软件的功能,表达的内容和可用性,而对那些细小的部分视而不见,如果将主要的精力和时间花在雕琢软件特别是界面上是不可取的,那样做往往是浪费时间,因为在软件的开发中还有更重要的事情等着要做。我并不是说软件界面不重要,相反软件界面是用户体验的重头戏,我说的是没有必要特别的去雕刻软件,要有一种全局观,只要界面的细节部分不影响界面的整体风格,不是那么碍眼,不是那么难看就可以,因为没有太多的时间让我们去做一件艺术品。
愚人拙见,希望您来评点,谢谢!
[新闻]Sandcastle项目全部开源
[没有分类]关于阿里巴巴的产品关键字竞价排名系统的探究
产品关键字竞价排名,是阿里巴巴主要的收入来源之一,我们在做投标(反竞价)系统,产品,公司排名等系统中,都可以拿来一用.废话少说,直切正题:
首先来分析需求:
直接看这里
http://athena.china.alibaba.com/keyword/bidding_page.htm?Bidding=daohang
分析数据库设计
1.首先要有一个竞价的公司表,设计如下
companyid companyname
1 深圳九九归一公司
2.其次要有一个关键词表(关键词id,关键词名称,起拍价,竞价次数,目前最高价)
KeyID KeyName KeyPrice KeyCount MaxPrice
3.最好有一个竞价时间表(id,年,月,竞价开始时间,竞价结束时间)
TimeID NowYear NowMonth MinTime MaxTime
1 2008 7 2008-7-1 10:10:00 2008-7-11 17:10:00
3.再就是有一个关键词-公司的映射表,也即是竞价详细表(ID,公司ID,竞价期数,关键词id,是否有效,出价,用户ip,竞价时间,是否通过审核,投放产品的id)
CompeteID CompanyID TimeID KeyID IsOK Price UserIP AddTime IsAuditing ProductID
1 1 1 1 1 100 ^^^^^^^^^^^^^^^^^^^^^
竞价存储过程
------------------------------------
--用途:增加一条竞价记录
--项目名称:
--说明:
--时间:2008-6-27 15:36:06
------------------------------------
CREATE PROCEDURE LB_Prod_Compete_ADD
(
@CompeteID int output,
@CompanyID int,
@TimeID int,
@KeyID int,
@Price int,
@IsOK bit,
@UserIP varchar(50),
@AddTime datetime
)
AS
BEGIN TRAN
DECLARE @CompanyOk int
DECLARE @MINCompeteID int
DECLARE @ISTOP5 int
--检索本公司本期竞价的关键词是否有有效关键词
SELECT @CompanyOk=COUNT(*) FROM LB_Prod_Compete WHERE KeyID=@KeyID AND CompanyID=@CompanyID AND TimeID=@TimeID AND IsOK=1
--如果有先让该记录的ISOK置0 ,即设置为无效
IF @CompanyOk>0
BEGIN
UPDATE LB_Prod_Compete SET IsOK=0 WHERE KeyID=@KeyID AND CompanyID=@CompanyID AND TimeID=@TimeID AND IsOK=1
END
ELSE
BEGIN
--再查询一下有效竞价数量是否大于5
SELECT @ISTOP5=COUNT(*) FROM LB_Prod_Compete WHERE KeyID=@KeyID AND TimeID=@TimeID AND IsOK=1
IF @ISTOP5>=5
BEGIN
--大于5的话,把有效的最低价格的那条记录置为无效
SELECT @MINCompeteID=MIN(CompeteID) FROM LB_Prod_Compete WHERE KeyID=@KeyID AND TimeID=@TimeID AND IsOK=1
UPDATE LB_Prod_Compete SET IsOK=0 WHERE CompeteID=@MINCompeteID
END
END
--插入新记录,并设置为有效竞价,因为它价格最高嘛!呵呵
INSERT INTO LB_Prod_Compete(
[CompanyID],[TimeID],[KeyID],[Price],[IsOK],[UserIP],[AddTime],[IsAuditing]
)VALUES(
@CompanyID,@TimeID,@KeyID,@Price,@IsOK,@UserIP,@AddTime,0
)
SET @CompeteID = @@IDENTITY
--最后更新一下关键词表的最大价,方便程序调用.
UPDATE LB_KeyWord SET [MaxPrice]=@Price,[KeyCount]=[KeyCount]+1 WHERE [KeyID]=@KeyID
COMMIT TRAN
GO
时间仓促,简单一些,欢迎各位同仁讨论!
提醒:潜水员们上浮一下,下面有暗礁!
[新闻]“博客园开发者征途系列” 即将发布重磅级新书
摘要: 最近刚做了一个时下比较流行的隐藏层录页面,登录过程使用了ajax,但是奇怪的是,程序运行到添加cookies时就无端终止了,郁闷..跟踪无果,网上查询亦无果,无奈下只有借用javascript的cookies,用户登录过程是ajax验证完成后,返回正确标记同时返回登录的用户名ID,这样就可以在javascript中实现这样的效果。这个登录框完全效仿baidu知道的登录模式,唯一的不同点是百度知道 阅读全文
[新闻]Google官方推出Google Talk苹果iPhone版
摘要: 本文讨论了如何处理FileSystemWatcher针对同一文件变化的多次事件触发,代码借鉴了log4net的处理方法。 阅读全文
[新闻]研究称Windows使用份额将很快低于90%
[没有分类]讨论:怎么样缓存频繁更新的数据?
摘要: 最近接手一个公司的论坛。主题数量大概有100W,回复数有900W,在线人数3000左右。之前设计论坛的GG采用静态集合来缓存每个版块的主题列表。但论坛偶尔会冒出个缓存的bug,其中解决了些问题,但时不时又会有新的bug。ms有点“野火烧不尽春风吹又生”的感觉...
所以我也想着手改善一下,想了想决定重写个原型出来,暂放cnblogs希望大虾们能指点一下迷津。 阅读全文
[新闻]苹果App Store公布应用程序提交最后期限
摘要:
任何验证码,不要输出到html标记中,最好以图片的格式输出,使破解软件无法轻易”抓“到code...
[新闻]Intel欲打造千核运算
摘要: 在上一篇文章中我对异常报告组件MyDebuger做了一个一般性的介绍并用简单的C#对其进行了实现,发表之后网友们提出了一些建议,也提出了一些Bug。在这里,非常感谢来自你们的建议,我从中领略到了社区对于软件开发的重要性,社区的意见是宝贵的。其中有一位朋友说"虽然能看懂但是代码逻辑混乱,应该好好重构下",还有人说那个Debuger.Debug()方法中的obj为空的问题.自己仔细的考虑了一下,可能确实比较混乱,于是在这一篇文章中我将着力讲述我对MyDebuger组件是怎样进行重构的,并对上一节提到的配置问题进行了实现(实现的可能不太好,但是已经基本满足需求了).花了一整天时间,希望这次会好一点。 阅读全文
[新闻]“博客园开发者征途系列” 即将发布重磅级新书
摘要: 某次工作需要,回顾了一下过去做的某个项目,突然发现自制的 javascrip Calendar(日历控件),一时遐想无限,勾起不少有关当年(当月?)那些雄心壮志的 阅读全文
[新闻]Google官方推出Google Talk苹果iPhone版
摘要:

本文从HTML, CSS 原理等多个方面详细比较分析了 block 和 inline 的概念区别和表现区别。对前台开发感兴趣的可以看看哟。
阅读全文[新闻]研究称Windows使用份额将很快低于90%
摘要: 自定义服务器控件的添加事件的方法。
阅读全文
[新闻]苹果App Store公布应用程序提交最后期限
[没有分类]《当C#遭遇老温》之网络通讯编程篇
摘要: 《当C#遭遇老温》之网络通讯编程篇老温评语:当我未对网络通讯编程拥有足够深的认识之前,总觉得它非常神秘莫测,觉得它遥之不可及,就像眼巴巴的望着一位美丽的少女而无法进行进一步的活动!呵呵~见笑了。之所以道论此篇是想和网络上的朋友进行一次通讯编程方面的交流,更重要的是是C#语言!我不会用那么所谓的“专假”那样呆板的语言进行描述,我会用最简明最容易理解的意思进行简述,同时也想给新 阅读全文
[新闻]Vifir.com全国巡回Ext/Ajax技术学习与交流——成都站活动成功举办
摘要: 原文地址:http://weblogs.asp.net/stephenwalther/archive/2008/06/13/asp-net-mvc-tip-1-creating-new-html-helpers-with-extension-methods.aspx摘要:在这个Tip中,Stephen Walther创建了两个新的HTML Helper,你可以直接在ASP.NET MVC视图中使用 阅读全文
[新闻]评论:Email前途堪忧
[没有分类]怎么这两天总能看到刺激我的好东西
摘要: 前些天TerryLee做了一个调用Virtual Earth 的silverlight Demo, 写的很不错!今天居然在http://silverlight.idvsolutions.com/ 又看到了一个Virtual Earth 的
SILVERLIGHT DEMO. 这个DEMO更面向于实际应用,使用它找到了我家的屋顶:) 阅读全文
[新闻]Firefox2漏洞多 需紧急升级Firefox3
支持Silverlight的Windows Embedded Standard
好了,完成安装之后,我们就可以来做Windows Embedded Standard的第一个操作系统镜像了。在开始菜单中找到“Microsoft Windows Embedded Studio”,启动其中的Target Designer。然后再Target Designer的File菜单中选择New,创建一个新的Configuration。

输入名称后,点击OK,进入Target Designer的主界面。为了简单起见,我们选择Virtual PC作为我们的目标设备,这样就可以省去获取硬件设备信息的步骤。
首先,我们要在左侧的组件列表中找到我们要添加的组件。第一个自然是Silverlight组件了。Windows Embedded Standard中包括的是Silverlight 1.0,目前Silverlight 2.0还是beta阶段,也许等WES正式推出时就是Silverlight 2.0了,即使不是,也肯定会有QFE的。

由于不确定Silverlight被放到哪里了,所以只好Search了一把。结果是,在Software-System-System Services-Application Support中包括了Silverlight组件。除了Silverlight之外,我们还需要添加几个组件:
首先,是Design Templates下的Information Application;然后是,Software节点下的Test & Development下的Runtime Quick Start Helper Macro和Virtual PC 2007 Helper Macro两个组件。

添加了这些组件之后,我们就可以进行依赖检查了,按F5,或者在Configuration菜单下的Check Dependencies项,就可以执行了。如下图:

依赖检查之后,如果没有错误,我们可以直接进行编译,选择Configuration下的Build Target Image或者按F7,构建过程如下图:

在编译完成之后,我们就可以在C:\Windows Embedded Images下找到已经编译好的文件。我们将其拷贝到准备好的虚拟硬盘中就可以了。如何构建VPC的开发环境,请参考我的Webcast 《XP Embedded开发初体验》中的介绍。
在第一次启动时,系统会启动FBA(First boot agent)来完成一些设置,我们需要耐心等待一些时间:

接下来,我们关闭WES开发环境的VPC,记得一定要选择Shut down。

然后运行XPETraget的VPC,我们编译出来的Windows Embedded Standard Image其实和XP Professional非常类似,只是少了比较多的组件。不过我们仍然能够通过开始菜单来打开IE浏览器,然后再里边输入URL: http://www.silverlight.net/ 。对Silverlight比较熟悉的朋友一定会知道这个网站。而访问这个网站时,并没有提示我们需要安装Silverlight,这表明Silverlight已经被加到了Windows Embedded Standard的Image之中了。
[新闻]图解Internet Explorer 8的诸多安全特性
[没有分类]WCF学习(三)-------数据契约1
摘要: WCF能够托管CLR类型,客户端能传递和处理CLR类型的数据(如:string和int),但是如果我们自己定义的类型(如:声明的Customer类)。其实WCF的传递CLR自己类型时,是因为已经把它序列化成了xml信息集,而我们自己定义的类型则需要自己去显示的声明序列化。序列化.net的序列化。.net是通过反射机制(反射机制参考文档)自动实现对象的序列化与反序列化。首先.net能够捕获对象每个字 阅读全文
[新闻]Google将提供网站漏洞侦测工具 可免费下载

我们需要理性的看待博客园的发展