我们在创建IIS的虚拟主机的时候,一般都是在本地创建一个目录,然后把虚拟主机的根设置为这个目录。这是一般的方法,所以一班不会有问题,但是在如下两个场景会出现错误:
1.在这个虚拟主机上面创建SPS站点,在登录以后,页面会出现不可访问的错误。部署SPS的具体补丁情况不明确。
2.在这个虚拟主机上面部署YetAnotherForum论坛程序的时候,在一些二级页面会出现页面空白。
这个时候可以采用在服务器上运行“aspnet_regiis -i”来解决。对于第二个场景一定可以解决,对于第一个场景,至少在我现在客户的服务器环境解决了问题。
“aspnet_regiis -i”将为每一个虚拟主机创建一个aspnet_client的文件夹,具体这个文件夹的作用我还说不好,但是可以确定的是一些控件的客户端脚本是在其内的,以及SmartNav的客户端脚本也是在其内的。
这两天重新安装了VPC,但是发现虚拟机里面不多访问外面的网络了,每次启动虚拟机的时候提示:
The network adapter with address "00:00:00:00:00:" of virtual machine "test" failed to initialize because the address is a null address.
同时这个不影响虚拟机的运行。在Google上面搜了一下,找到了解决办法。
http://blogs.msdn.com/virtual_pc_guy/archive/2005/01/17/354971.aspx
场景:单服务器,独立的SQL Server。服务器在安装SPS前安装了Win2003的SP1。每次启动的时候会提示一个服务启动不正常,察看系统事件中有两个错误,发现来源于SharePoint Portal Administration服务。实践内容如下:
1.等待 SharePoint Portal Administration 服务的连接超时(30000 毫秒)。
2.由于下列错误,SharePoint Portal Administration 服务启动失败:
服务没有及时响应启动或控制请求。
原因分析:由于系统安装了Win2003的SP1,怀疑原因是因为安装了这个SP1。故观察了SPS相关的几个服务的可执行文件路径,这几个服务的可执行文件路径都在引号内,和引起SSO服务异常的情景一样,故决定修改注册表,试验一下。
具体步骤:打开注册表编辑器,定位到\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\。下面是SPS服务对应的文件夹的名称:
SharePoint Timer Service SPTimer
SharePoint Portal Administration SPSAdmin
Microsoft SharePointPS Search SharePointPSSearch
SharePoint Portal Alert spsalert
Microsoft Single Sign-on Service ssosrv
在对应的文件夹下面有一个ImagePath节点,双击打开节点,去掉节点值两端的引号。
重新启动服务器,一切正常。
说明:
由于以上的方法纯属实践得来,没有在各种服务器场环境上进行测试,所以本人不为任何的实验行为带来的后果负责。实验前请做备份。
今天开始试验VS2005了,有感于建立一个适应多种开发场景的开发环境,所以写点感想。
感想之一:个人开发用机还是应该向着工作站方向发展,开发用服务器不在考虑之内。开发用的工作站不是图形工作站,所以显卡不需要非常之高级,开发3D游戏不在讨论之内。第一,内存要高,原因后面讨论。第二,硬盘要大,原因与前面的相同,后面讨论。第三,是CPU要快,还是上面的原因。
感想之二:保护开发环境。有感于现在的开发环境,多半是娱乐用途与开发用途混合,多个不同的应用场景相互混合。这样会造成一些混乱,也可能会造成开发工作站环境与目的服务器环境不同带来问题。
解决这个问题的一个方法是使用Vistual PC进行隔离。我们可以将我们的开发环境放入虚拟的PC当中,这样的我们的代码我们的开发环境,我们的运行场景就捆到了一起,而且虚拟PC的宿主还可以作为客户端模拟访问服务器。
当然使用虚拟PC也有一些问题,就是虚拟PC需要在内存中占用一块不能放入页文件的内存,如果内存数量过小,就会影响虚拟PC的运行效果。我想没人愿意自己的开发工作站像蜗牛爬一样,影响开发效率和开发时心情。经验告诉我们如果想使用这种模式开发的话,宿主PC的内存需在1G RAM以上。这个是感想一里面要求打内存的原因。
再说说磁盘空间,如果使用虚拟PC的话,那么宿主PC的一块硬盘就相当于被几个PC所分享,不然你的硬盘很快就会捉襟见肘。CPU快自然不须说,编译程序、进行大型的运算、跑虚拟PC,都需要更快的CPU。
以上是对于开发环境的一点想法,我自己就实现了这样的一个环境。当然还有一些细节的技巧,明天再讲。
场景:用户的SQL Server 2000服务器需要扩容,原本想做SQL Server服务器群,后来客户决定从新建SQL Server服务器,SPS使用新的SQL Server 2000服务器。
方法:
1.在“配置服务器场拓扑结构”中去掉服务器场中所有的服务器角色的设置。
2.在“指定配置数据库服务器”中断开与当前的数据库服务器的连接。
3.将旧的数据库实例暂停,复制SPS的配置数据库和内容数据库的数据文件和事务日志文件到新的数据库实例上面上。
4.在新的数据库实例上面创建配置数据库和内容数据库。数据库的名称不能改变。
5.在新的数据库实例上配置新的帐号。帐号应使用原来的数据库帐号。
6.回到SPS的“指定配置数据库服务器”,当中按照“连接到现有的配置数据库”进行配置。
7.重新启动“SSO”服务,并将服务改为“自动”。
8.重新启动SPS服务器。
说明:第8步,不知道什么服务需要新启动,所以干脆重新启动了服务器。各位同学可以试试看,到底是哪个服务器需要重新启动。
由于以上的方法纯属实践得来,没有在各种服务器场环境上进行测试,所以本人不为任何的实验行为带来的后果负责。实验前请做备份。
今天先把上传一个图片吧,中间的人王洪超,右面的人是衣明志

FreeBSD 5.3发布了,可以在新的平台上测试mono了。于是就把原来的文章续出来了一个(5)。
这次让我比较兴奋前面都成功了
mono通过ports就可以编译
xsp也可以编译了
只不过需要gmake替代make就可以了
引用:
./configure –prefix=/usr
gmake
gmake install
测试静态页面还是没有问题的。
但是测试它的名为test的ASP.NET应用就出了问题。前一段时间听说是因为线程库的问题,看来是真的了。
引用:
fd53# mono /usr/local/bin/xsp.exe –port 80
Adding applications ‘/:.’…
Registering application:
Host: any
Port: any
Virtual path: /
Physical path: /root/xsp-1.0
Listening on port: 80
Listening on address: 0.0.0.0
Root directory: /root/xsp-1.0
Hit Return to stop the server.
Segmentation fault (core dumped)
Nov 15 15:17:57 fd53 kernel: pid 44678 (mono), uid 0: exited on signal 11 (core dumped)
Nov 15 15:24:33 fd53 kernel: pid 44701 (mono), uid 0: exited on signal 11 (core dumped)
Unhandled Exception: System.IO.FileNotFoundException: Could not find file "[Unkown]" in <0x00076> System.IO.FileStream:WriteInternal (byte[],int,int)
in <0x00073> (wrapper remoting-invoke-with-check)System.IO.FileStream:WriteIntrnal (byte[],int,int)
in <0x00198> System.IO.FileStream:Write (byte[],int,int)
in <0x0006c> System.IO.StreamWriter:FlushBytes ()
in <0x0004f> (wrapper remoting-invoke-with-check) System.IO.StreamWriter:FlushB
tes ()
in <0x00055> System.IO.StreamWriter:Flush ()
in <0x00088> System.IO.StreamWriter:Write(string)
in <0x00032> System.IO.SynchronizedWriter:Write (string)
in <0x00012> System.Console:Write (string)
in <0x0004c> Mono.CSharp.Driver:Main (string[])
最近在忙着研究SPS,在定制首页的时候发现页面里用了大量的SPSWC的控件,提笔总结一下。这些好象都是MSDN里面没有的。
<SPSWC:CollaborationServerMetaTag>
这个标签将服务器上定制的<meta>标签写到页面。不需要页面中有HtmlForm的存在。
<SPSWC:ShowMessageToNonScriptableClients>
这个标签会在不支持脚本的浏览器上显示警示信息。不需要页面中有HtmlForm的存在。
<SPSWC:WebProperty>
这个标签会显示网站的属性例如:
<SPSWC:WebProperty Property=“SiteTitle“>
不需要页面中有HtmlForm的存在。
<SPSWC:CategoryProperty>
这个标签会显示子区域的属性例如:
<SPSWC:CategoryProperty Property=“Name“>
不需要页面中有HtmlForm的存在。
<SPSWC:CustomCSSResourceElement>
这个可以把定制的样式表写到标签的位置。不需要页面中有HtmlForm的存在。
<SPSWC:PageHeader>
这个标签可以输出设置里面设置的Logo。不需要页面中有HtmlForm的存在。
<SPSWC:CategoryNavigationWebPart>
这个标签可以输出子区域导航菜单。不需要页面中有HtmlForm的存在。
上次向飞鹰推荐了Yet Another Forum论坛,但是飞鹰没有用。他不用没关系,我用。我在现在实施SPS的项目中,客户不满意SPS的讨论版。我本来想使用ASP.NET Forum 2,但是现在发现她变成商业的了,于是我们决定使用Yet Another Forum,它是GPL的。开源+免费有什么不好?
YetAnotherForum的域整合非常简单,首先要在安装一个非域验证的实例,在选择管理员账号的时候比较有技巧:帐号最好和将来域里面准备作为论坛管理员的账号一致。这样做是为了在与域整合以后不用再调整论坛的管理员了。其他的安装可以按照软件包里面的说明进行。
在非域验证配置完成以后,我们开始进行域整合的配置。我们需要修改Web.Config,将验证方式改为
<authentication mode="Windows">
</authentication>
然后修改IIS关于这个应用的验证方式为Windows域服务器的摘要式身份验证,同时将你论坛程序所在的目录赋予读/执行/列表权限给相应的域用户。
这样在你再次访问的时候,你就会发现已经能像SPS一样整合使用与账号了。而你当初指定的那个账号会自动变成管理员了。这样你就可以开始你的其他论坛配置了。
我刚刚拿到MSDN宇宙版里面的vs2005beta,但是不敢在自己的机器里面安装。我现在的机器里面有一套vs2003,生产开发用的。我主要是怕安装了vs2005以后和这个有冲突,生产环境就得重搭了,那位老兄在一台机器上同时安装过这两个的话,给我们讲讲会不会有问题,怎么解决那些问题?
我现在的项目是一个电信企业的企业门户,使用SPS2003来搭建。为此项目专门申请调配了一个内存1GB+256MB的PC做服务器。
做这个开发环境有两个方案,一个方案是所有的软件安装都安装在这个物理服务器上面,另一种方案是在这个PC上面做若干个虚拟机,模拟真实的环境。
首先说说第一个方案。第一个方案需要将这个PC安装win2003系统,并建成主域控制器。安装应用服务器(IIS+ASP.NET),之后还要代开SMTP和NNTP,然后再安装Exchange2003、SQL2000+sp3。最后就可以安装SPS2003了。值得注意的是,安装应用服务器的时候不能安装Frontpage扩展,这个扩展和SPS2003有冲突。
这个方案的优点是速度快、一台服务器便于移动,然而缺点却比较多,。这个PC应为自己作为主域控制器,所以不适合(不等于不能)再加入现有的域。同时这个PC不容易管理,Win2003的终端服务器必须有终端授权证书服务器才可以不限时间的运行,但是即使是免激活的开放许可Win2003里面的终端证书服务器也是需要激活的,电话激活或者互联网激活都比较麻烦(需要开放授权的ID)。否则就要使用其它的远程管理软件,会产生其它的费用。如果将来有新的服务器或者PC调配过来,软件迁移到其它的服务器很麻烦。
再说第二个方案。这个方案的是将所有的软件都安装在虚拟机里面。宿主服务器的操作系统可以选择Win2003或者Linux。如果宿主服务器是Win2003,那么虚拟机软件必须是Visual Server 2005。如果想要宿主服务器使用Linux,可以直接使用VMware ESX Server,它内置一个定制的Linux系统,可以安装在无系统的主机上面。VMware ESX Server和Visual Server 2005比较,主要是强在VMware可以设置虚拟机具体使用几个CPU,和具体使用哪个CPU。
我现在使用的就是第二个方案。建了两个虚拟PC,第一个虚拟PC作为域控制器,安装了Exchange2003和SQL2000+sp3,分配了256MB内存。第二个虚拟PC只安装了SPS2003,分配了512内存。
这样做的优点是都可以通过Web远程管理,同时自带远程管理工具和虚拟终端。VMware ESX Server的虚拟终端可以是任何VNC软件,而Visual Server 2005的虚拟终端叫 VMRC(Virtual Nachine Remote Control Client),不需要单独的授权。虚拟机搬迁起来也很方便,将虚拟机的配置文件和相应的虚拟硬盘文件搬迁到新的服务器然后导入虚拟机就可以了。缺点就是速度比物理服务器实现的慢,相应对宿主服务器的硬件要求要高!
这两种方案各有千秋,可以用在不同的时候。比如我在去帮助市场人员做售前给客户演示门户系统的时候就是使用的第一种方案,将所有的软件装在了一个1G内存的笔记本电脑上面。而我们在内部开发的时候使用的就是第二种方案,毕竟服务器的速度要比笔记本电脑快的多。
终于狠下心来将那块SCSI的硬盘取下,为了mono~~~~~~
取下来硬盘之后,立刻就可以安装FreeBSD5.2.1了。
现阶段已经发布的最新的FreeBSD版本4.10和5.2.1都不能正常安装mono-1.0的ports。
据mono的ports的制作人讲mono的ports在4.10上不能安装是因为libc里面有一个死锁错误,导致在安装dll的时候随机性的死锁。
而mono还不支持在5.2.1上面安装,是因为mono需要的一个内核特性5.2.1还没有。
这样如果安装mono的ports需要升级成5.2-current。根据我的经验,升级后使用ports安装没有任何问题。
下面在安装xsp和mod_mono的时候预见的问题比较大:
xsp不能正确地make。
而mod_mono可以正常编译安装,但是ModMono.dll却不能正常编译。
在mono实现的ASP.NET的方案当中,xsp和ModMono.dll起着很重要的角色,就是起到真正运行一切ASP.NET程序的作用,而mod_mono只在apache当中拦截所有的被看作到ASP.NET请求,转发至ModMono.dll或者xsp去。
接下来要解决的就是正确编译xsp或者modmono.dll,我想我要解决这个问题,还是先从make文件如何编写入手,或者你们谁给我一个编译好的?
昨天,将前次安装的mono-1.0又重新作了编译,问题依旧。于是又用ports编译了mono-0.97。但是仍然不能顺利安装。问题是相同的:在向GAC里面安装各种动态链接库的时候!
我自己手动编译的mono在安装第一个dll的时候就出现了问题,ports编译的mono-0.97安装dll出问题的点是随机的。
我自己手动编译的mono在安装dll时候,有2个ltmono进程,而且总是处于poll状态。ports编译的mono-0.97安装dll的时候,只有一个mono进程,并且是RUN状态,CPU占用率也很高(最高到99%),但是很长时间(6个小时左右)没有反应,但是可以用Ctrl+C中断。
在mono社区 里面也看到有人报告mono官方发布的给FedoraCore2的安装rpm不能安装。google上面显示的资源也给人感觉mono并没有让dotNET的开发人员有太强列的兴趣,而开源社区的人对dotNET也没有太大的兴趣。
这次使用之后可能要间隔一段时间,才能在进行更深一步的测试了。时间大约是在周末。
家里买了一个宽带路由器,原来的代理服务器被我格了,配好宽带路由器上的虚拟服务器(NAT端口转发),咱们也来感觉一下在家托管。对了,还有动态域名。前两天看有人问luyan,他的花生壳是怎么装到Linux上去的,有人估计是在Linux上装虚拟机了,咱们不那么搞,咱们找一个支持FreeBSD的免费动态域名就好。首先声明:我不是在做广告——我用的是科迈的动态域名,感觉还不错,最关键的是免费而且支持FreeBSD。
言归正传:开始安装FreeBSD。
先说我的机器的配置,我的主板是QDI的工作站主板,694x芯片组,集成ATI RageMobile显卡,Intel百兆网卡,和一个双通道160兆的SCSI控制器。我装了一个PIII 766铜矿CPU,256Mb PC133内存,一个雅马哈724声卡,以及一块8139网卡。两块一盘,一块Seagate 18G SCSI硬盘,一块Seagate20G IDE硬盘。由于现在FreeBSD 5 的BootCD有问题,FreeBSD 5的光盘没办法在这个机器上启动,又没有软驱,所以选择装FreeBSD 4.10。
我把18G的SCSI硬盘作为主盘,20G的IDE硬盘作为/ftp挂点,准备将来提供FTP服务之用。我选择的是X+Developer安装,这样会把必要的编译工具和X都安装到机器上面,以便测试Windows App之用。我选的Windows Manager是KDE,没有装中文的环境,上中文的网站字体会比较乱,但是这还不是咱们的主要工作,所以忽略。第一次运行KDE的时候,会提示检测到有声卡(我单插的雅马哈724),但是没有驱动没办法工作,由于和前面同样的理由,也忽略。之后,可以安装cvsup,到cvsup.freebsdchina.org 去升级ports,这样安装操作系统的工作基本完成。
这个时候我们开始检查ports树,在/usr/ports/lang 下面可以找到mono这个目录,阅读里面的说明,可以得知这个ports还是仍然是为mono-0.97制作的。这样我们得自己编译mono-1.0,当然我们自己也可以制作ports,但是这个不是我们这篇文章的目的。mono的源码可以去他的mono-project网站下载。在正式编译mono之前还要检查一下系统内的几个库是否安装了,比如bison,glib和icu2。由于我们安装了X,以及KDE,这样glib就已经装好了。安装其他的应用或库,可能会依赖bison,所以之前要检查ports记录,可以用pkg_list命令。安装这些可以用ports直接安装,如果你的机器在网上建议直接在ports所在的目录make install,除非没连到互联网的时候再用网站上编译好的packages。bsion、glib、icu2都在/usr/ports/devel目录。
icu是ibm的一个unicode处理的库,我以前也没接触过,仔细观察了它的编译过程,发现里面还带有各个国家和公司的不同字符编码码表,以及到unicode的映射关系表,以方便不同的编码作相互转换。FreeBSD的ports中带有两个icu,一个是icu,一个是icu2。我们使用icu2。icu2的安装需要自己下载源码,这可能是因为ibm的发布许可不允许第三方发布吧!下载地址
这些mono依赖的部件都安装好之后,我们就可以开始编译了。解压生成mono-1.0这个目录。进入这个目录,根据文档得知,直接使用./configure就可以将代码进行编译前的配置。我们也可以使用./configure -h来查看这个脚本可以带的参数,也可以检查configure默认的设置,其中prefix是默认的安装目录。我们看到prefix的默认值是/usr/local,这个目录正好是FreeBSD里面ports安装的默认路径,所以我们不需要做什么修改,直接使用./configure。在这个脚本结束之后,会显示配置的结果。主要内容好像是虚拟机在单进程内执行,支持JIT,多语言支持使用的是icu2.8。
之后可以直接make,若干分钟以后(我的机器大约是半个小时不到),就可以编译成功。比自己编译JDK快多了。之后可以make check验证一下编译结果,也可以直接make install。我的make install在最后一个生成MONO_PATH的时候停住了,我睡了一觉早上看还是停在那里没有动,估计是有什么问题,早上上班没时间管,晚上再看看吧!
(持续)
找到的一个窍门,不让vpc弹出内存不够的对话框,强制开始了我的.NET2的试用过程。
安装完express的环境,立刻就有了一个感觉,express系列是对WebMartix的风格延续。vcs主要针对Windows的应用,vwd专门针对Web应用,此外vwd还支持多种语言开发(c#,vb,j#)。
在看过JohnnyHu的VC# Express vs Enterprise以后,发现差别还是不小的,决定找一套Enterprise来,只是公司的微软联系人在休产假,不然我现在已经开始download了。
vwd里面有一个新东东吸引了我的兴趣,在这里的ASP.NET页面中可以添加WebPartZone,而且可以向这些Zone中拖入WebPart。笔者我现在的工作就是带领一个team开发SPS上面的WebPart。如果这些工作可以服用的话,那么就不要说代码复用了,我们的二进制程序也可以复用了,一个字,“太爽了”!
由于在MSDN中还没有找到有关这一部分的资料,所以今天的试用体会就先告一段落。
在看了luyan的linux上使用mono的文章,我就开始心痒痒,mono也可以在FreeBSD上面用啊!
这里的朋友应该没几个不知道Linux的,但是对FreeBSD很了解的就不多了。FreeBSD是以BSD4为基础发展起来一个开源的Unix操作系统,使用BSD许可发布。BSD发布许可的内容很简单,就是:可以以任何方式来使用FreeBSD的源码和二进制程序,使用的时候只需声明代码来自FreeBSD。这样使用这个发布许可,你就可以在自己的代码任意使用FreeBSD的代码,而不用交费或者继续开源。这很有一点教科书的意味,恐怕没有谁为教科书上的知识而付过任何费用或者为此而不能申请自己的专利或者版权。
FreeBSD以及整个BSD系列的开源操作系统的风格也同样非常学院派。系统追求稳定可靠的同时,不断改进,对于软件包的发布集中控制。这样在FreeBSD的世界里面,不会有一个软件包会针对不同的FreeBSD版本发布很多个,因为FreeBSD只有一个发布人——就是FreeBSD的发布小组。
FreeBSD内建了很多令人瞠目结舌的机制。最醒目的是一个内置的操作系统模拟器,在这里面可以模拟linux、novell等等i386上面的操作系统,像Linux下面的二进制格式软件(jdk,oracle8/9)几乎都可以直接运行在FreeBSD当中。
由于FreeBSD的这些优秀特性,FreeBSD已经被很多大型企业用于各自的生产环境当中,很多网络设备的嵌入式系统也有FreeBSD的影子。同时FreeBSD也是微软认同的开源操作系统之一,早在2000年,FreeBSD就已经是微软 CLI 1.0 跨平台运行环境示范平台之一。
上面介绍完了FreeBSD,接着说说在FreeBSD上面实现mono和ASP.Net的事情。
我首先查阅了FreeBSD的ports列表,这里面显示ports安装只支持mono-0.97,也不支持mod_mono,看来只好自己安装了。
首先去http://www.mono-project.com下载mono1.0的源码,准备编译。
mono的出现有给我们带来了一个.net的平台,随着mono向不同平台的移植,也许一个新的java的模式又将开始!
几天前发布的mono1.0正式版,现在已经被一些Linux发行商继承进自己的Linux发布当中。今天就看到了这样一个发布:Tinysofa。这个是一个面对企业Linux发布,他提供的其他一些特性并没什么特殊,但是默认集成mono还是很特别,他继承的不是java,而是mono这样一个.net平台。
这也许是一个标志,意义在于.Net已经被大众接受,特别是需要预算相对要少得企业接受。
注:
TinySofa的网址
http://www.tinysofa.org
vs2005express一套东东我是下来了,但是看着哥几个开始写dotNet Framework2和vs2005express尝鲜的文章,我只能看着干咽吐沫。
话从机器配置说起,我们的开发用机是在上一项目开发的时候提的升级申请,后来一个人发了一条256的内存,我们一下子成开发部和工程部同事们羡慕的焦点。可是我们自己心里有数,人家微软工程师的笔记本都是1G的内存,没事就开个虚拟机给我们演示个什么的。
现在dotNet Framework2到手了,条件反射是装个虚拟机,我的机器也够意思,立刻告诉我只有128的可用内存。在我关了n个服务之后,还是达不到256地步。于是乎打起笔记本的主意。就在我装完dotNet Framework2之后,突然想起机器上还没有开发完的ASP.Net应用的命运,这是心已经提到嗓子眼了。等开始装SQL2005express之后,我的心彻底出来了——他开始把我的SQLServer停掉,然后替换我的SQL2000。如果SQL2000被干掉,我的应用铁定跑不起来了,马上就要交工了,总不能告诉人家你们得等微软的framework2的正式版出来再用,只好死心。
我现在就想以后有了钱,卖它个4G的内存,开两个虚拟机,一个跑linux,另外一个就为了占内存。
上帝盖茨又来北京了,上次好像是去年在哪个大学公开露面的,今天终于终于有一次露面了。对于会议本身我并不感兴趣,无缝计算的理念很好,但距离我们只少还有5年的时间。我更想见见这个我儿时心目中的神。知道比尔.盖茨的名字是在92年,比尔认为每个人都应该有一台个人计算机,就因为这句话我开始认为他是神。而今12年过去了,那种经验和崇拜没有了——消失的无影无踪了。
来过我非dotNet的朋友也许知道,我并不是微软技术的专业户,因为我认为竞争会使企业不懈的努力。
盖茨先生这次的排场十足,奥体中心遍布警察和保安,微软的工作人员比警察还多。更多的是学生,不否认盖茨先生让中国的一些大学生反感,但是他的成功也吸引了很多的中国学生。会场入口处,居然有机场和车站才有的x射线透视仪,而且是针对笔记本电脑包的——因为只有笔记本电脑才能过去,其他的包包都不让带。过了这关还有两个保安拿着金属探测仪,检验每一个的身上。还好我兜里只有一串钥匙。
我到的时候会场里面人还不多,慢慢的竟然差不多坐满了。我所在的是虽然最远的一个看台,但是位置还是比较正的。我们这个看台坐的主要是微软合作伙伴的来宾和媒体记者。我边上就有一个记者,自从盖茨先生开始讲话,就记个不停。由于我没有领同声翻译机,只有竖起耳朵,但是听力实在差劲,基本都没听懂。但是时间我也没浪费,拿着DC对着盖茨先生猛拍。这个时候我才感觉到高倍数光学变焦在这种大会场的情景是多么的重要,我把所有的变焦都开到最大,仍然没办法清晰拍摄到盖茨先生的五官,遗憾。下面是这次大会的一些照片。
http://blog.aspcool.com/fatiao/gallery/80.aspx
近期评论