1。今天和我们一起ADSL包月的一个孩子突然要去上海了,临走还把集线器带走了(到今天才知道原来那块集线器是他的)。下午去科技市场买集线器。一起去的同学要买 U 盘,转了 N 圈,看了各种各样的 U 盘。卖 U 盘的地方大都有 MP3,因此他看他的 U 盘,我看我的 MP3,心里筹划着什么时候也买个 MP3 玩玩?其实,今天我才知道 MP3 里面也得装电池。落伍!
2。今天“泡泡堂”升级了,听说加了赛车地图,但需要用点券才能买来必需的“通行证”——看来网上开车也得要驾照了,不同的是,这驾照需要的只是 money 而已。
刚刚看完 http://www.microsoft.com/china/community/Professional/MVP/Personal/yj.aspx 中关于杨杰的介绍,想说几句:
我已经通过各种渠道寻找杨杰好几天了。杨杰曾两度当选 MVP,无论在2002年4月 MVP 名单中,或者2003年9月的名单中,杨杰一栏中都注明他网名叫作 mytcbc,专长是 .NET,来自 Netease(如果没有理解错的话,这个应该是网易)。常去网易的人知道,网易确实有很多不同的社区和论坛,比如虚拟社区分为北京站、上海站、广州站,此外还有不少小的论坛,如网易科技频道的论坛,还有新开的个人论坛,等。
而事实上,经过几天的初步排查,我发现在网易三地虚拟社区中根本无法检索到 mytcbc 账号的资料,也就是说这个帐号并没有激活社区功能,它没有在三地的社区中使用过(查看检索结果 1,2,3);在网易科技频道中,我同样检索不到这个帐号(查看检索结果);个人论坛没有提供检索的方法,我用“传纸条”的方式尝试给 mytcbc 传纸条,系统提示说“用户不存在”,看来他也不在这里活跃。那么他会在哪里活跃呢?
我向网易社区管理层的朋友们(我是那里的一个版主)咨询网易还有哪些论坛或者社区,大家也都只能给出这几个论坛/社区。我在 google 中搜索 mytcbc,只有很少的两页结果(查看),而且其中没有来自网易的网页。从搜索的结果中我找到了杨杰(mytcbc)的 BLOG。
我两次试图给他发 Email 询问这件事情,但没有得到回复;我又尝试给他的 BLOG 留言/发评论,他也没有回复。这些都加重了我的怀疑。
从他的 BLOG 中可以知道他是一所大学微软技术俱乐部的负责人,我也很佩服他的组织能力,也不怀疑他的 MVP 身份。我怀疑的是微软名单上面的“来自Netease”是否是错误的?MVP 名单中有很多来自微软技术俱乐部的 MVP 后面所标注的都是“MS CLUB”字样,而 mytcbc 却标注的是 Netease。这两者肯定是不同的。
我不知道这篇随笔是否会触怒某些人,但我把这些写出来只是想弄清楚一个心中的疑问而已。也许是书读多了太过于天真,也许是代码写得多了太过于呆板。(如果有什么疏漏,比如网易还有其他什么论坛/社区,或者找到了大量 mytcbc 发表的帖子,都可以告诉我。)
1。在同学的熏陶和“唆使”下,开始玩起“泡泡堂”了。还算一款比较好玩的网络游戏吧(也可能是我“见识”太少的缘故吧),角色做的很可爱,游戏规则简单而富于挑战性。
2。因为需要玩游戏,去微软寻找 DirectX 的最新版本,看到了 DirectX 9.0b 的东西,大致看了一下说明,看来 DirectX 9.0b 中应该已经有 Managed Codes(托管代码)版本了。不过看起来这个 SDK 稍微有些大(二三百兆),过两天再下好了。
?
我在实验中发现在 ASP.NET 中可以使用计时器(Timer)完成一些定时动作。这一点可能会对我们的一些 Web 程序有益。
通过引入计时器我们可以在 ASP.NET 的全局性程序(Application)中灵活的使用计时器完成一些定时操作,比如:在社区/论坛系统中,每隔 5 分钟更新一次在线用户列表,每隔 1 个小时更新一次用户经验值,或者每隔一天备份一次关键数据等等。这个思路应该是很诱人的。
MORE>>
我在实验中发现在 ASP.NET 中可以使用计时器(Timer)完成一些定时动作。这一点可能会对我们的一些 Web 程序有益。
下面首先介绍我测试使用的一个例子:
- 首先在 global.asax 中的 Application_OnStart 事件过程中定义计时器,代码如下:
|
[VB.NET] global.asax <%@ import Namespace="System.Timers" %> <script runat="server">
Sub Application_OnStart(sender As Object, e As EventArgs) ' 创建一个计时器,单位:毫秒 Dim aTimer As New System.Timers.Timer(10000)
' 将 Fresher 指定为计时器的 Elapsed 事件处理程序 AddHandler aTimer.Elapsed, AddressOf Fresher
' AutoReset 属性为 true 时,每隔指定时间循环一次; ' 如果为 false,则只执行一次。 aTimer.AutoReset = True aTimer.Enabled = True ' 先给 Application("TimeStamp") 指定一个初值 Application.Lock() Application("TimeStamp") = DateTime.Now.ToString() Application.UnLock() End Sub
Sub Fresher(sender As Object, e As ElapsedEventArgs) Application.Lock() Application("TimeStamp") = DateTime.Now.ToString() Application.UnLock() End Sub
</script> |
- 然后我们简单写一个 test.aspx 来查看 Application("TimeStamp") 的值。代码如下:
|
[VB.NET] test.aspx <% Response.Write(Application("TimeStamp")) %> |
分析:
根据 global.asax 中的代码,我们设定了一个计时器,每隔 10 秒钟执行一次 Fresher() 过程;在 Fresher() 过程中我们事实上只是重新写入了一个 Application("TimeStamp") 新值。换句话说,Application("TimeStamp") 的值是应该每隔 10 秒钟更新一次的。
是不是这样的呢?通过 test.aspx 的反复刷新观察 Application("TimeStamp") 的值,的确发现这个值在每隔 10 秒地变化一次,而其他时候则保持不变。与我们的预期是一致的。
意义:
通过引入计时器我们可以在 ASP.NET 的全局性程序(Application)中灵活的使用计时器完成一些定时操作,比如:在社区/论坛系统中,每隔 5 分钟更新一次在线用户列表,每隔 1 个小时更新一次用户经验值,或者每隔一天备份一次关键数据等等。这个思路应该是很诱人的。
探讨:
Q: 是否在 ASP.NET 代码的任何地方都可以使用计时器呢?
A: 我没有测试过在普通 *.aspx 中插入计时器的情形。但从 B/S 程序的特点来看,即使在 *.aspx 中插入计时器可行,也不是一种好的选择。因为对于 B/S 程序来说,服务器接到客户端的请求本身就是一个事件,在这个事件处理过程中,服务器必须迅速的作出回应,为客户端产生相应的 HTML 代码,然后结束这一过程。如果在 *.aspx 使用计时器(如果允许的话),则第一没有太大必要,第二很容易使系统因为插入的计时器过多(因为每一次 *.aspx 的执行都有可能插入一个新的计时器)而使系统瘫痪。
因此,我建议只在 global.asax 的 Application_OnStart 中使用比较安全一些。欢迎对此感兴趣的朋友对此发表见解。
(转载请注明出处)
最近发现做事情越来越没有效率了,很简单的东西都搞不定了。所以换一种生活或许是个不错的选择。
最初见到 BLOG,是在南大小百合的 BBS 里面,看着很有意思;不过因为毕竟不是自己学校的,所以只是关注了一阵子便失去了兴趣。前些天,博客.cn 的 wyhw 邀请我去他们那里做 BLOG,账户很快就审批下来了,可是我看着下面那巨“可怕”的红色文字,和首页上 N 多的 flash,有些后悔自己莽撞的决定了;与此同时我也开始和这里的 开心就好 联系,申请这个帐号。我不是微软员工,也不是 MVP,所以费了一番周折,给开心看了许多我发表在网易北京社区 .NET 版的拙文,这才有了一个新的开始。
感谢开心!感谢博客堂!希望能从各位微软专家、MVP、高手们那里学到东西!