Microsoft Office
SharePoint Portal Server
MVP

Sign In

<November 2008>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

RSS 2.0 | Atom 1.0 | CDF

Archive

Navigation

Search

Categories

On this page

SharePoint Chinese Wiki
Longhorn beta3 的 Role
Longhorn beta3的feature
用Word2007写Blog的一些好处
WSS3.0入门第二天
javascript的Date问题
小当黑客一把
BatchConvert-1.0.1发布
BatchConvert发现了问题和改进计划
中文SPS2003管理界面变成英文的解决办法
IE7和WSSv2
SharePoint中文Wiki发布了
配置MOSS2007beta2的单机开发环境(上)
在WinXP中使用VHDMount(翻译)
计数器和访问分析
与VS2005一起使用NDoc
也说报表服务遇见了Sybase
在报表服务当中使用定制程序集
对于.net Framework的System.Net下面的CredentialCache类的补充说明
[整理]Paint.NET,DotNET实现的一个Photo工具
[整理]Windows工作流基础平台概览
[整理]说说开发环境的建立
整理Blog是一件非常累的工作

京ICP备06027344号

Total Posts: 179
This Year: 1
This Month: 0
This Week: 0
Comments: 39

 Friday, July 06, 2007
Friday, July 06, 2007 11:47:20 AM (中国标准时间, UTC+08:00) ( )

使用Wiki做文章管理还真是不错,不过还是很非脑力的。既要想着程序本身的限制,又要考虑到文章本身的内容,还要思考网站的构架。之后的几天,事情慢慢的少了,家里的无线网络改造以基本告一段落,晚上有时间了,SharePoint Chinese Wiki的内容才能真正的充实起来。

网址:http://www.sharepointwiki.net

说到了无线网络改造,归根结底还是只有加大AP的发射功率才是正确道路。家里新换了一个思科的Linksys WRT54G无线宽带路由器,并且刷了DD-WRT的Fireware,这样才可以在其管理器中调整发射功率。DD-WRT的好处当然不只这一些,我最欣赏的特性还包括QoS支持、自动重新启动、功率调整、VPN支持、VLAN支持、DHCP转发等等这些企业级功能。原来的那些AP、PCCard的无线网卡之类的都可以卖掉了......顺便说一句,要刷DD-WRT的话,Linksys WRT54G还是不错的选择,但是一定要选V2.0或者V2.2的版本。

贴图一张:

Comments [0] | | # 
 Sunday, May 20, 2007
Sunday, May 20, 2007 12:14:04 AM (中国标准时间, UTC+08:00) ( )

Longhorn beta3英文版里面服务器的角色被称为Role。在Longhorn的beta3里面一共有17种角色:

  • Active Directory Certificate Services(AD证书服务)
  • Active Directory Domain Services(AD域服务)
  • Active Directory Federation Services(AD联合服务)
  • Active Directory Lightweight Directory Services(AD轻量目录服务)
  • Active Directory Rights Management Services(AD权限管理服务)
  • Application Server(应用服务器)
  • DHCP Server(DHCP服务器)
  • DNS Server(DNS服务器)
  • Fax Server(传真服务器)
  • File Services(文件服务)
  • Network Policy and Access Services
  • Print Services(打印服务)
  • Terminal Services(中断服务)
  • UDDI Services(UDDI服务)
  • Web Service(IIS)
  • Windows Deployment Services(Windows部署服务)
  • Windows SharePoint Services(WSS)

这里面有不少我们熟悉的面孔,还有我们非常熟悉但是需要自己手动安装的服务,还有几个确实全新的。别的不说,单说Longhorn集成了这写服务,方面我们安装配置,这一点来说还是很方便的。

Comments [0] | | # 
Sunday, May 20, 2007 12:12:47 AM (中国标准时间, UTC+08:00) ( )

Feature是Longhorn里面最新提供的特性,这不仅让我们想起了WSS 3.0和MOSS2007里面的feature。Longhorn beta3的"Server Manager"里面一共提供了35个feature以及每个feature下属的更小的feature:

  • .NET Framework 3.0
    • .NET Framework 3.0 Features
    • XPS Viewer
    • Windows Communication Foundation Activation Components
      • HTTP Activation
      • Non-HTTP Activation
  • BitLocker Drive Encryption
  • BITS Server Extensions
  • Connection Manager Administration Kit
  • Desktop Experience
  • Failover Clustering
  • Group Policy Management
  • Internet Print Client
  • Internet Storage Name Server
  • LPR Port Monitor
  • Message Queuing
    • Message Queuing Services
      • Message Queuing Server
      • Directory Service Integration
      • Message Queuing Triggers
      • HTTP Support
      • Multicasting Support
      • Routing Service
    • Windows 2000 Client Support
    • Message Queuing DCOM Proxy
  • Multipath I/O
  • Network Load Balancing
  • Peer Name Resolution Protocol
  • Quality Windows Audio Video Experience
  • Remote Assistance
  • Remote Server Administration Tools
    • Role Administration Tools
      • Active Directory Certificate Services
      • Active Directory Domain Services
      • Active Directory Lightweight Directory Services
      • Active Directory Rights Management Services
      • DNS Server
      • FAX Server
      • File Services
        • DFS Management Console
        • File Server Resource Manager Management Console
        • Service for Network File System
      • Network Policy and Access Services
        • Network Policy Server
        • Health Registration Authority
      • Print Services
      • Terminal Services
        • TS RemoteApp Manager
        • TS Gateway Manager
        • TS Licensing Manager
      • Web Server
      • Windows Deployment Service
    • Feature Administration Tools
      • BitLocker Driver Encryption
      • BITS Server Extentions
      • Failover Clustering
      • Network Load Balancing
      • SMTP Server
      • Windows System Resource Manager
  • Remove Storage Manager
  • RPC over HTTP Proxy
  • Simple TCP/IP Service
  • SMTP Server
  • SNMP Services
    • SNMP Service
    • SNMP WMI Provider
  • Storage Manager for SANs
  • Subsystem for UNIX-based Applications
  • Telnet Client
  • Telnet Server
  • TFPT Client
  • Windows Internal Database
  • Windows PowerShell
  • Windows Process Activation Service
    • Process Model
    • .NET Environment
    • Configuration APIs
  • Windows Recovery Disc
  • Windows Server Backup
  • Windows System Resource Manager
  • WINS Server
  • Wireless Networking

可以看出,feature是对原来"Windows组件"的替代(Longhorn beta3已经没有了"添加/删除程序",以"Programs and Features"代替)。

Comments [1] | | # 
 Friday, April 20, 2007
Friday, April 20, 2007 6:05:07 PM (中国标准时间, UTC+08:00) ( )

最近的Blog都是使用Word2007来写了。好处不少:

  1. 不需要在线写,写不完可以随时保存。写的时候体验比在线写要好的多。
  2. 写完以后可以把内容保存成DOCX文件,方便保存备份。

比较麻烦的是:

  1. 不支持图文混排的Blog,只能自己手动上传图片,手动重新编辑。
  2. 不支持分类APi的Blog,只能自己手动修改Blog分类。

由于Word2007的这些特性,我在想,是不是可以用Word2007来备份所有的Blog内容呢?要是Word2007可以备份Blog里面所有的内容,那就太Happy了。

Comments [0] | | # 
 Thursday, January 25, 2007
Thursday, January 25, 2007 11:37:15 PM (中国标准时间, UTC+08:00) (  |  |  |  |  |  )

第二天几乎没有什么进展,上来就碰见了问题。

我是一台服务器上面做的服务器场模式安装的WSS3.0,SQL使用本机的2005标准版。服务器上带DC和DNS。

在安装完毕初始化以后,按照联机的帮助,启动搜索服务。服务帐号和内容访问帐号都是域administrator,但是出现错误提示信息“此服务器不是该搜索应用程序的索引器”。我找了一下,没有发现WSS里面配置应用程序的索引器的地方。

我接下来创建了Web应用程序,在创建站点集的时候,出现“因为服务器当前的配置不支持,所以无法显示该页。若要执行此任务,请使用Stsadm.exe中的命令行操作”。我在命令帐号测试了命令“stsadm -o createsite -url http://s1.zc.intra -owneremail wss@zc.intra”,提示错误“指定的域不存在,或无法联系。<异常来自 HRESULT:0x8007054B>”

问题发给了一些朋友,都还没有遇见过这样的问题。郁闷阿,在网上在搜搜看吧!

Comments [3] | | # 
 Wednesday, January 17, 2007
Wednesday, January 17, 2007 5:40:38 PM (中国标准时间, UTC+08:00) ( )
我是在用javascript生成Unix时间戳的时候发现的问题。
你可以在c:\创建一个test.js文件,然后把下面的代码粘贴进去,然后在命令行直接执行c:\test.js:
 
theDate=new Date("January 1, 1970 8:00");
WScript.Echo(theDate);
WScript.Echo(Date.parse(theDate));
secondDate=new Date(1969,12,1,8,0,0,0);
WScript.Echo(secondDate);
WScript.Echo(Date.parse(secondDate));
thirdDate=new Date(1970,1,1,8,0,0,0);
WScript.Echo(thirdDate);
WScript.Echo(Date.parse(thirdDate));
 
代码说明:这段代码是使用js的Date对象的两个构造函数构造了三个Date对象。第一个Date对象和第三个Date对象以不同的构造方式创建了同一个时间。第二和第三个Date对象使用相同的构造函数创建了不同的时间。
 
但是结果是:
Thu Jan 1 08:00:00 UTC+0800 1970
0
Thu Jan 1 08:00:00 UTC+0800 1970
0
Thu Jan 1 08:00:00 UTC+0800 1970
2678400000
 
 
这明显是矛盾的。我怀疑这是一个js解释器的问题。另外Date的UTC方法也有类似的问题。
Comments [0] | | # 
 Tuesday, January 16, 2007
Tuesday, January 16, 2007 11:39:17 PM (中国标准时间, UTC+08:00) ( )

老婆周五(2007-1-19)要去海淀妇幼医院去做定期产前检查,但是海淀的新爹似乎都很认这个医院,每天早上挂号都要几十米,6点以后到了几乎就没有可能挂到专家号了。最近可以网上挂号,可以提前三天,也就是今天(2007-1-16)凌晨可以开始挂号。好不容易等服务器时间跨过00:00,服务器立刻负载大增,进入挂号页面几十秒才显示,我一看这个情况,赶快改挂专科号,不容易,挂了一个3号,再看那五六个专家没人15个号,都挂满了.......

为了熬夜挂号怕误事,茶水喝多了,挂完号睡不着了。看这海淀妇幼的网上挂号运气,这个网站看起来一般,要不研究一下看看能不能去掉3天的限制。看看了他的html源代码,系统给定的日期代码不是直接的日期,而是一串数字。仔细看看,有点意思,给出的三个日期代码的数字串末尾一样,看来三个有关系。再看网站是PHP写的,立时怀疑三个数字串都是Unix时间戳。立时找来PHP for win32,给自己机器上装了一个,把它的数字串拷贝过去,用PHP拷贝按照Unix时间戳解码,没错都是Unix时间戳。在刷新两下,发现数字串变化,再解析,时间是刷新时服务器时间加3天。这就好说了,不用什么复杂程序,做一个html就能搞定。

把它的起始选日期的页面另存下来,手动修改一个2007-1-22的Unix时间戳,测试,可以挂2007-1-22的号了。这样基本程序原形完工。但是这样搞太麻烦,大家都是程序员,都是懒人,这个工作是可以自动完成的嘛!修改另存的页面,去掉选择时间,改成手动添年月日和一个Unix时间戳文本框。加一个按钮,在点击按钮的时候生成Unix时间戳,再点提交,进入指定日的挂号界面。到此界面就设计完成。

后面的计算Unix时间戳的程序费了老大的劲。很多年没有写js了,嗯,得有4年没有写js了。js里面有Date对象,但是忘了哪个方法管转换时间戳了,Google找了一个代码段,一测生成的不是标准的Unix时间戳。继续Google找,发现PHP的时间戳好像是毫秒戳,js的Date对象的是微秒戳,这个好办,微秒戳除以1000。嗯,时间戳可以了。后面如何把时间戳写进文本框,又找了一段代码作例子。这么长时间不写js真是不行了。再测试,成功!

犹豫了一下,还是把这个发布出来。毕竟现在当个新爹挺不容易的。不过大家手下留情,万一用的太滥,这个漏洞被发现了,有得自己受苦了。还有里面的html点击的时候,IE会自动把里面js禁用,这个时候要把屏幕上部的那个提示条,选择允许组织的内容。不然是算不出Unix时间戳的。

不放心的朋友可以自己检查源代码,我这里下载的是没有病毒的。还有就是我还没有测试是否能通过后面的挂号,测试过的朋友能用的话给我发个邮件,分享一下你们当新爹的感受。使用这个挂号程序会带来什么后果我也不负任何责任的,如果被医院发现说你挂得号无效,可和我没有关系,这可是你自己的老婆怀孕作检查。祝各位好运!

下载地址如下:http://blog.zhangchi.com.cn/downloads/guahao.rar

Comments [1] | | # 
 Monday, January 15, 2007
Monday, January 15, 2007 11:00:06 PM (中国标准时间, UTC+08:00) ( )

二进制版本:http://blog.zhangchi.com.cn/downloads/batchconvert-1.0.1-bin.rar

源代码版本:http://blog.zhangchi.com.cn/downloads/batchconvert-1.0.1-src.rar

修改内容:

  • 修改了一个由于iconv不支持Windows带空格的文件名导致的问题。

说明:这个错误其实就是我前面说的安全性问题。仔细分析了有关的资料,以及自己程序对错误的捕捉,发现问题并不在我的代码里面。然后捕捉了一下我隐藏的错误信息,发现是iconv没有找到要转换的文件,同时把路径识别成了三个文件。使用带引号的路径作为参数以后,问题消失了。

此外还发现一个不知道是Windows还是.NET Framework的问题,当然这也可能是我程序的问题。路径选取对话框在路径是Desktop的时候,预置路径不生效。这个还需要再次测试。

Comments [0] | | # 
 Wednesday, January 10, 2007
Wednesday, January 10, 2007 1:52:03 PM (中国标准时间, UTC+08:00) ( )

当需要转换的文件没有Users权限的时候,会造成转换失败。这个应该是启动iconv转换进程的时候,没有加权限的原因。很快我会修补上这个问题。

此外还准备加上文件类型的过滤。

Comments [0] | | # 
 Sunday, December 31, 2006
Sunday, December 31, 2006 6:04:40 PM (中国标准时间, UTC+08:00) (  |  |  )

中文SPS2003发布的时候,正值2003年,.NET Framework 1.1和Windows Server 2003刚刚发布不久。但是随着.NET Framework 1.1的补丁不断出来,以及Windows Server 2003的补丁不断推出,即使SPS2003也不断推出补丁,但是还是有一些著名的小问题。比如中文的SPS2003的管理界面都变成了英文的界面。

这个问题估计可能不是SPS2003的问题,因为SQL Server 2000 Reporting Service也有类似的问题,解决的办法也是一样的。我最早发现这个问题是在2004年,当时.NET Framework 1.1 SP1刚刚发布。咨询微软的工程师,得到了support网站的一篇文章。文章里面讲由于.NET Framework 1.1 SP1的某些安全改进影响了.NET Framework 1.1的i18n解决方案,导致SPS2003的管理界面变成了中文。解决办法很简单,在创建的网站的web.config文件属性的“安全”里面,添加一个“Everyone”,并赋予“完全”的权限。这个方法在某种程度上会降低安全性,但是具体会带来什么危险,我也不清楚了。

最近,客户和我反映管理界面还是经常变成英文的,用上述的方法改一下,过一段时间就又会自己的变成英文的。我自己试了一下,发现上述的方法好像跟本不起作用了。我向客户了解了一下,最近对SPS2003做过什么处理,结果是客户最近部署过自己开发的WebPart,在web.config里面添加过SafeControl。我看了一下,发现web.config文件的编码被改成ANSI的编码了,修改为UTF-8编码以后,不用修改权限,管理界面就恢复中文了。再仔细研究了一下用户的使用习惯,她总是先下载web.config文件,用UltraEdit编辑以后,在上传回去。问题就出在UltraEdit,它在保存文件的时候,并不保持文件原来的编码格式,而是默认使用当前系统的默认编码(GB2312)来保存。不知道这个是UltraEdit的功能还是缺陷,或者其他人汉化导致的。

Reporting Service的问题也是类似的,我们做过一个安全插件,编辑过他的两个虚拟目录的config文件。把这些congfig文件的编码和权限调整过来以后,Reporting Service的管理界面也恢复正常了......

我在这里向大家推荐Editplus2编辑器,韩国人开发的,相当不错,支持在ftp里面直接打开,还可以另存到ftp上面。只不过好像国内没有代理商......

Comments [0] | | # 
 Friday, December 01, 2006
Friday, December 01, 2006 9:37:46 PM (中国标准时间, UTC+08:00) (  |  )

今天访问一个朋友的TFS站点,也就是一个Windows Sharepoint Service v2的站点,在创建文件的时候,突然发现在WSS的文档库里面点击“新建”的时候提示:

---------------------------
Windows Internet Explorer
---------------------------
“新建文档”需要使用与 Windows SharePoint Services 兼容的应用程序和 Microsoft Internet Explorer 5.0 或更高版本。若要向此文档库添加文档,请单击“上载文档”按钮。
---------------------------
确定
---------------------------

正在郁闷的时候,发现ie7提示要安装一个微软的插件,是owssupp.dll。怀疑了一下,就大胆子装上了,结果又提示一个微软的插件owsctl.dll。已经装了一个了,索性这个也装了。这个时候突然发现“新建”恢复正常了,再检查ie7里面的已经使用的加载项中多了一个如下两个条目:

ows.JPG

 也许这就是ie7标榜的安全性?还是WSS不认识ie7的版本,得当作ie5处理了?

Comments [0] | | # 
 Tuesday, October 10, 2006
Tuesday, October 10, 2006 10:33:11 PM (中国标准时间, UTC+08:00) ( )

酝酿这个Sharepoint中文wiki好久了,今天终于敢在Blog里面大吼一声SharePoint中文Wiki发布了。感觉就像自己的一个孩子终于生出来了。

开始想做这个Wiki是因为SharePoint的中文资料很少,学习SharePoint的话除了残缺很多内容的管理员联机文档以外,就只有英文MSDN上面SDK和几篇英文文档。很多学习SharePoint的朋友都和我提起过,他们的英语不好,只能从国内少数的中文博客当中找到一些资料,但是这些都是残缺不全的东西。现在SharePoint随着Office2007的到来,新版本也马上要开始面市了,这个时候一个中文的权威的SharePoint相关文档显得尤为重要。这些是开始建设SharePoint中文Wiki的初衷。

只有初衷还是不够得,还得要具体对内容的想法。我的想法是以中文的原创参考资料为主,辅以其他的一些中文的开发技巧。这是因为如果以翻译为主的话,翻译的原稿只能是来自微软的文档,具体的说就是微软的MSDN中的SharePoint的SDK。我们知道微软的文档和其翻译后的文档版权仍然属于微软,直接翻译会有版权方面的诸多麻烦,因此我计划以中文原创的参考资料为主。这样的话,SharePoint中文Wiki的内容和发展就离不开大家的广泛的大力的支持。希望大家博客里面的内容可能贡献给SharePoint中文Wiki,来增加SharePoint中文Wiki的内容。

现阶段,SharePoint中文Wiki已经发布了,通过连接可以直接访问,但是里面的还没有什么内容。现在我主要在翻译PmWiki的标签语言的简单语法手册,这个工作量并不小,有幸的是我在Emacs中文站找到了他们翻译的这个语法手册。这样可以极大地加开这部分工作的进行速度。同时Emacs中文站也是一个完全基于PmWiki的网站,他们创建网站的经验对于我们创建完全基于Wiki技术的网站有很好的借鉴价值。

说了这么多,最后还是祝愿SharePoint中文Wiki可以越办越好,内容越来越多,越来越权威。这还得靠大家不断的支持。

Comments [1] | | # 
 Monday, September 18, 2006
Monday, September 18, 2006 3:37:30 PM (中国标准时间, UTC+08:00) (  |  |  |  |  |  )

准备分两次介绍MOSS2007beta2单机开发环境的创建,第一部分主要是基本的创建过程,第二部分是主要是由beta2升级到Beta2TechRefresh的过程。

看我Blog的人,大约都已经看了kaneboy和ocean的介绍了,但是我还是要说说我创建MOSS2007beta2开发环境的创建,主要我觉得他们的写的过程,我觉得并没有把所有的事情都讲清楚。我的文档是根据英文的Deployment Guide for Office SharePoint Server(Office SharePoint Server部署指南,简称MOSS部署指南)实践后编写的,但不是单纯的翻译。我假设我的读者熟悉Win2003的管理和熟悉ASP.NET2.0的开发,这样我可以把MOSS部署指南当中叙述很详细的过程描述简化。

  1. 下载需要的文件。除了需要MOSSbeta2的安装部件以外,如果单机开发环境还要做域控制器的话,那么还要下载一个补丁。这个补丁需要在MOSS安装完毕,配置向导运行成功以后执行。可以修正在域控制器上安装单机环境浏览报错的问题。
  2. 我们可以准备一个VirtualPC或者一个真实的PC。这个PC要安装好Win2003的任何一个版本,为其安装配置好AD、DNS、应用服务器(启用ASP.NET)三个角色。然后打补丁SP1。接着我们需要安装.NET Framework 2.0 运行时部件和Windows Workflow Foundation 2.2(简称WWF)运行时部件。
  3. 接下来我们开始安装MOSS。在添加完序列号以后,系统会提示我们用Basic还是Advanced方式安装。Basic是默认使用Stand方式安装,默认C盘为安装路径,同时在配置向导运行时,还将默认创建一个的MOSS网站和相应的Web Application。Advanced则全部需要自己手动设置。我们这里选择Basic。后面只需要逐步点Next就可以将MOSS安装完毕。安装完毕以后,可以根据需要安装对于域控制器做MOSS服务器的补丁
    注意:我们没有安装SQLServer2005,这是因为MOSS的安装程序在Basic模式下会自动安装一个SQLEXPRESS,并默认一次数据库作存储。
  4. 在测试以后,我们可以开始Office2007beta2和VS2005安装开发环境了。安装Office2007beta2就不详细介绍了。然后我们可以选择任何一个VS2005的版本,除了VS2005Express的版本以外。安装的时候我们可以只选择VS2005的最小版本,比如只安装最小的VistualC#.Net环境。接下来可以安装WWF的VS2005设计组件。这时一个基本的MOSS2007beta2的单机开发环境就已经做好了。

使用Basic模式虽然可控性比较差,但是我们可以通过这个快速的建立MOSS2007beta2的开发环境。此外这个环境大约需要1.5GB的内存,如果不需要开发环境大约1GB内存就足够了。如果要在VisualPC当中做的话,则宿主需要至少2GB以上的内存。

Comments [0] | | # 
 Thursday, September 07, 2006
Thursday, September 07, 2006 11:22:42 AM (中国标准时间, UTC+08:00) ( )

Virtual Server 2005 R2 SP1 beta2当中有一个叫VHDMount的工具,他可以把虚拟硬盘直接装在到物理计算机上面。在WinXP上面使用有两点需要注意:

  1. 不能使用“/m”(Mount),只能使用“/p”(Plug In)。
    这是因为VHDMount使用VDS(Virtual Disk Service)来指定虚拟硬盘装在以后盘符,但是只有Win2003以上的版本才有VDS。但这个并不是一个大问题,WinXP并不像Win2003那样,WinXP在虚拟磁盘“插入”以后将自动装载虚拟磁盘。 这意味着在WinXP上只会没有详细指定虚拟盘符的功能而以。
  2. WinXP会要求一个有问题的初始化。
    发生这个问题的原因是因为VirtualServer R2 SP1beta2的虚拟磁盘装在工具使用了未签名的驱动。(我不知道为什么这在Win2003上面不会出问题)
    你只要使用VHDMount“插入”虚拟磁盘,然后打开Windows设备管理器(右键点击“我的电脑”,选择“管理”,然后选择“设备管理器”)。你将看到“Microsoft Virtual Server Storge Device”,并且打着叹号的图标。右键点击选择“升级驱动程序”。在硬件升级向导当中选择“从列表或指定位置安装”,然后选择“不搜索,我选择设备类型来安装”。最后选择“Microsoft Virtual ServerStorage Device”驱动,并结束向导。这时虚拟磁盘将被装载上。
    不幸的是,每次都要重复这个过程才能把虚拟磁盘装载上去。

不必害怕,在随后发布的最终版本里面,这个驱动将有正式签名。

翻译自 Virtual PC Guy's WebLog

Comments [0] | | # 
 Thursday, June 08, 2006
Thursday, June 08, 2006 10:47:09 AM (中国标准时间, UTC+08:00) ( )

一个月之前看见贾四的Blog上面有计数器,问他访问量有多少,他告诉我已经有一千了。我说我也放一个。其实心里在打鼓,一直标榜访问量比他大,真要是访问量太低,有些丢人。不过现在可以交答卷了,我一个月的计数器计数达到了2258,算是一个出人意料的成绩。在此纪念一下。

说起计数器就不能不说访问统计,有了统计自然要对统计结果进行分析。自从申请了Google的分析服务以后一直就等着盼着,终于两天前拿到了,然后第一时间就放了上来。经过两天的使用,有了些心得。

计数器出现的最早,早期的静态网站时期就开始大行其道,但是人们开始发现其功能的不足,也就是其只能计算request的次数,这并不是真实的访问人数。于是带有识别访问人数的计数器诞生了,后来又有一些计数器开始屏蔽搜索引擎的bot爬网带来的request数量。

随后由于人们有了跟踪浏览者对于网站的访问行为分析的需求,站点访问统计分析的软件系统逐渐出来了。开始的统计分析系统比较简陋,只能统计出客户端的浏览器版本,操作系统版本,浏览器语言,ip位置等等。后来又有人加入了js来嗅探浏览器的其他性质,比如屏幕分辨率、颜色深度、支持java与否等等功能。在后来又开始对于request的引用地址统计。现在一般的统计分析还带了对于搜索引擎引用的关键词统计分析。总之相比以前的计数器是有突飞猛进的发展。

Goolge的分析服务是一个相当不错的分析手段,但是Goolge的分析服务并不适合所有的人。更适合什么人呢?适合投放广告和经营网站的人。他的侧重点也在这上面,据一个例子:Google分析服务提供了搜索引擎应用的统计,以及各大搜索引擎占的比例;但是如果你想知道都有哪些关键词霸浏览者从搜索引擎带到了你的网站,或者说搜索引擎用户我你的网站的什么内容最感兴趣,却没有进行分析。但是这并不影响Google的分析服务是目前市面上最出色的分析服务之一。

偶自己也有做分析服务的想法,现在在酝酿中...

Comments [0] | | # 
 Sunday, April 16, 2006
Sunday, April 16, 2006 4:15:27 PM (中国标准时间, UTC+08:00) ( )

标准版的NDoc暂不支持.NET 2.0,NDoc项目现在正在缓慢的升级。如果不想慢慢等的新版本的话,可以自己下载一个第三方hack的版本。下载地址:http://jonas.lagerblad.com/ndoc/ndoc-bin-1.3.1-v15.zip

如果编译MSDN样式的CHM文件,需要自己单另安装微软的htmlhelp部件。在微软下载网站可以找到。

如果编译VS.NET 2003(VS2005)样式的帮助文件,需要自己安装VSHIK部件。但是微软网站下载的VSHIK2.1部件不能在没有VS.NET2003的情况下安装,新的与VS2005配套的VSHIK包含在了VS2005 SDK当中,现在VS2005 SDK已经正式发布,VS2005 SDK v2还在BETA阶段,都可以在下面地址找到:http://msdn.microsoft.com/vstudio/extend/

Comments [0] | | # 
 Saturday, April 15, 2006
Saturday, April 15, 2006 5:59:47 PM (中国标准时间, UTC+08:00) ( )

ccBoy遇见的问题,在我客户这里也有,但是客户似乎没有把这当作一个问题。我在客户这里部署的ReportingService还是SQLServer2000里面的,不过情景应该类似。客户也是将Sybase里面行以千万计的数据导出到SQLServer2000当中,原因一方面是怕报表的查询影响业务数据库中实时数据的插入,一方面是因为在ReportingService对Sybase数据库使用参数的时候报错。联想到在ASP.NET当中使用Sybase数据库的时候,Sybase的ODBC驱动不支持SQL当中使用参数,窃估计是ODBC驱动的硬伤...曾经想找一个Sybase的.NET的连接器,但是总没有找到。

客户导数据的耐心还是值得称道的,在SQLServer2000中的数据转换服务中,DTS包达到了7个,最大的一个DTS包中导了二十多个表,导数据的流程达到了四十多步!每天大概从4个不同的系统中倒入大概4千万行左右的数据,同时还要将数据关联汇总。那个SQLServer2000的数据库基本上过了晚上12点就开始忙,大概要忙8个小时左右...

ccBoy的问题我不知什么自动的方法来解决,对SQLServer2005还不熟。但是他提到SSIS的问题应该是在SQLServer2000当中就存在了...

Comments [0] | | # 
 Sunday, April 09, 2006
Sunday, April 09, 2006 4:56:54 PM (中国标准时间, UTC+08:00) (  |  )

报表服务允许在报表当中内嵌代码,也允许报表引用定制的程序集。内嵌代码要求是VB.NET编写的代码,而引用的定制程序集没有限制,在codeproject上面甚至看到有人调用包装了COM的定制程序集。

本文的注意力不在内嵌代码上,因为内嵌代码相对引用定制程序集简单,功能也要弱一些。我们的注意力着重在报表如何引用定制程序集,以及这样的报表如何部署。

在报表中如何引用定制程序集

RSAddition1.JPG

在报表的数据或者布局视图点击“报表”菜单->“报表属性”项会出现如下的窗口:

RSAddition2.JPG

在点击“...”按键选择要应用的程序集。如果使用对象的静态成员,可以应用以后直接使用。如果对象需要实例化以后才能使用,则需要在窗口下半部分的添加类名和准备使用的实例名。静态成员可以直接以“myNameSpace.myClass.myFunction()”的方式来执行,如果不是静态成员,则要以“Code.myObject.myFunction()”方式来执行。其中myClass是类名,myObject是实例化以后的实例名。

部署引用的定制程序集

部署应用的定制程序集有三个步骤:

  1. 将引用的dll添加到报表设计器和报表服务器的bin目录,具体来讲就是报表设计器的C:\Program Files\Microsoft SQL Server\80\Tools\Report Designer和报表服务器的C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin。
  2. 编辑C:\Program Files\Microsoft SQL Server\80\Tools\Report Designer目录下的rspreviewpolicy.config文件和C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer目录下的rssrvpolicy.config文件。在“<CodeGroup>”节点下添加相应的“<CodeGroup>”节点:
    <CodeGroup class="UnionCodeGroup"
         version="1"
         PermissionSetName="FullTrust"
         Name="MyCodeGroup"
         Description="Code group for my data processing extension">
         <IMembershipCondition class="UrlMembershipCondition"
              version="1"
              Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\RSAddition.dll"
         />
  3. 编辑C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer下的web.config文件。修改<system.web>节点内的<trust>节点为<trust level="Full" originUrl="" />。

此方法适用于SQL Server 2000 Reporting Service SP2和SQL Server 2005 Reporting Service。但是不适用于没有安装过ServicePack的SQL Server 2000 Reporting Service。

在报表当中使用引用的定制程序集

在数据视图中使用

数据视图当中的对象主要是DataSet。要如何在DataSet当中使用应用的定制程序集呢?首先我们可以在DataSet当中使用参数,这个参数不是报表参数而是DataSet参数,之后我们在DataSet属性的参数页当中设置参数调用应用的定制程序集。

RSAddition3.JPG

在设计视图中使用

在设计视图中使用相对比较简单,我们只需要在相应的表达始终按照“在报表中如何引用定制程序集”一节中说明的使用方法就可以了。

Comments [0] | | # 
 Tuesday, March 28, 2006
Tuesday, March 28, 2006 6:40:56 PM (中国标准时间, UTC+08:00) (  |  |  )

我在使用CredentialCache的Add方法的时候,不知道其他的几个authType怎么来写。在Google的帮助下,从微软的Support网站找到一些提示:

"Basic":基本身份认证(明文传送用户名和密码)

"Digest":Windows域服务器的摘要式身份认证

"Negotiate":Windows集成身份认证(至少在这种认证方式下可用)

希望对调用有身份认证要求的WebService的朋友有帮助!

Comments [0] | | # 
 Wednesday, December 14, 2005
Wednesday, December 14, 2005 1:18:54 PM (中国标准时间, UTC+08:00) ( )

好玩的东东,不光是其功能,本身其还是开源的,这样的Windows App是开源的还是相对比较少的,有很大的借鉴意义。截图什么的自己去其网站自己看吧:Paint.NET

Comments [0] | | # 
 Monday, November 28, 2005
Monday, November 28, 2005 1:15:31 PM (中国标准时间, UTC+08:00) (  |  )

Windows工作流基础平台概览
工作流是一种自然而然的方法,将一系列工作单元或者行为组织起来,描述一个可执行的工作过程。
WWF(Windows Workflow Foundation,Windows工作流基础平台)通过提供的一组编成框架和开发工具,可以完成广泛多变的基于工作流的应用,例如:文件管理、商业流程应用、贸易页流、IT管理、B2B应用和消费类应用。

正式的,稳固的,长期运行的应用
WWF可以简化异步程序的过程,以创建正式、长时间运行、稳固的流程应用。WWF运行引擎管理流程的运行,并且允许流程长周期的执行而不受计算机重起影响。运行时服务提供一些功能,例如:处理和持久化来温和恰当的管理错误。

工作流模型
WWF提供一个工作流模型,允许开发人员描述对于他们应用需求的处理。这个模型通过创建更高级别的抽象、自然地将应用和商务逻辑与流程控制、状态管理、事务和同步分离开,从而提高开发者的生产力。
可以通过使用和扩展.NET框架的同样的方法使用和扩展工作流模型,因此你也可以创建你自己的定制创作工具。一个图形化的微软Visual Studio创作工具将随着WWF的SDK安装,而安装在Visual Studio当中。

部件重用
WWF提供了大量的行为,所谓行为就是可配置逻辑构造的工作执行单元。如果多次重复使用,这会节省大量的开发、调试和部署的费用。
WWF同样可以简化为你特殊的需求和想法而定制的自己的行为的创建。
WWF同样允许任何应用进程或者服务作为容器来运行工作流,通过将工作流引擎再如到其进程之内。
运行时服务部件是可插拔的,这些服务允许应用在其独立的运行环境来提供。WWF提供的运行时服务的默认执行,可以适应多种类型的应用。
另外,WWF提供对于ASP.NET的hosting的out-of-the-box支持,这将简化在IIS和ASP.NET环境中执行和构建工作流的执行和构建。

Comments [0] | | # 
 Wednesday, November 02, 2005
Wednesday, November 02, 2005 11:42:40 AM (中国标准时间, UTC+08:00) ( )

今天开始试验VS2005了,有感于建立一个适应多种开发场景的开发环境,所以写点感想。

感想之一:个人开发用机还是应该向着工作站方向发展,开发用服务器不在考虑之内。开发用的工作站不是图形工作站,所以显卡不需要非常之高级,开发3D游戏不在讨论之内。第一,内存要高,原因后面讨论。第二,硬盘要大,原因与前面的相同,后面讨论。第三,是CPU要快,还是上面的原因。

感想之二:保护开发环境。有感于现在的开发环境,多半是娱乐用途与开发用途混合,多个不同的应用场景相互混合。这样会造成一些混乱,也可能会造成开发工作站环境与目的服务器环境不同带来问题。

解决这个问题的一个方法是使用Vistual PC进行隔离。我们可以将我们的开发环境放入虚拟的PC当中,这样的我们的代码我们的开发环境,我们的运行场景就捆到了一起,而且虚拟PC的宿主还可以作为客户端模拟访问服务器。

当然使用虚拟PC也有一些问题,就是虚拟PC需要在内存中占用一块不能放入页文件的内存,如果内存数量过小,就会影响虚拟PC的运行效果。我想没人愿意自己的开发工作站像蜗牛爬一样,影响开发效率和开发时心情。经验告诉我们如果想使用这种模式开发的话,宿主PC的内存需在1G RAM以上。这个是感想一里面要求打内存的原因。

再说说磁盘空间,如果使用虚拟PC的话,那么宿主PC的一块硬盘就相当于被几个PC所分享,不然你的硬盘很快就会捉襟见肘。CPU快自然不须说,编译程序、进行大型的运算、跑虚拟PC,都需要更快的CPU。

以上是对于开发环境的一点想法,我自己就实现了这样的一个环境。当然还有一些细节的技巧,明天再讲。

Comments [0] | | # 
 Monday, October 31, 2005
Monday, October 31, 2005 1:07:56 PM (中国标准时间, UTC+08:00) ( )

今天先把上传一个图片吧,中间的人王洪超,右面的人是衣明志

Comments [0] | | #