日期:2014-05-20  浏览次数:20488 次

刚刚写完的一个论坛,累死人了,朋友们给我点信心吧(2)
有点郁闷,CSDN里面回复限制了30条。没办法,只有重新开帖。由于目前的讨论重点转移,所以我就不再给多分了,上一个帖子马上结。唉,不好给分啊。

To:NoZ(冤扣17分)
由于目前论坛系统还有许多细节需要优化,所以暂时没有时间专门做测试。等优化的差不多了我会将源码发给有兴趣和有能力的朋友一起做测试。
不过我在本地做了测试,负载能力还比较可以。因为TxtCache机制就是将数据缓存到硬盘,这即是TxtCache的优点,也是它的缺点,因为这样做需要占用一定的硬盘空间,一般一个帖子大概需要几KB的空间,不过这个问题我将会在.NET   2.0中采用新的压缩算法解决,目前我也正在研究压缩算法。“有点搞笑,一个小的论坛系统居然要用到数据压缩算法? ",希望前辈们不要笑话,因为技术是无止境的,我们应就事论事,哪种解决方法最好我们就应该采用哪种解决方法。当然我的能力有限,开源后我会将部分核心源代码加上详细注释(由于做的时间比较懒,代码写的比较漂亮:)所以我注释少,目前正在专门写说明文档)发给有兴趣和能力的朋友一起研究。
不过话又说回来,我个人认为TxtCache应该算是一种不差的数据存储解决方案,因为站在系统的解度来说,占用一点硬盘空间比占用更多的内存空间更划算(内存比硬盘贵:)),站在用户的角度,他们即不希望占用太多的硬盘空间也不希望占用太多的内存空间,但是在没有选择的情况下,他们还是能接收占用一定的硬盘空间。这就好像我在MSDN里面看到的一篇文章中提到的“花更少的代价获得更大的收益”。
我在本地也测试了,使用TxtCache时占用的内存比较低。这与.NET自动垃圾回收机制有关。在本帖的第一次发表中我也提到过,具体内容我就不详细说了,主要的就是这么几句话,使用TxtCache时,如果用户请求了服务器,服务器接收了这个请求并进行处理时就会分配一些内存,但是这些内存并不会因为这位用户的离开而被释放,而是被缓存起来,如果下一位用户发出同样的请求,那么服务器会直接引用前一位用户发出请求时所创建的内存,这样就不必重新创建内存,即达到了内存复用也提高了系统效率。

To:luckyprg(lucky)
非常感谢你的检查,我马上修改,目前正在写提示短消息的小功能。遇到点问题

To:madogao(云中傲)  
好的,我试了一下,不过没有将问题再现,你能不能将具体的操作步骤发到论坛里面?
关于XML技术:其实最开始我就是用的XML,但是在使用XML的过程中我发现了一个问题,由于帖子里面有许我特殊符号,比如   <html>   , <,> 。如果将这些特殊符号存到XML文件中在读取数据的时侯会出错。因为这些特殊符号会与XML中的符号一起被解析。
第二个问题就是并发访问的问题,好像用户不能同时访问XML文件,我以前用它来进行记录网站访问量时遇到并发访问时的错误。虽然可以自已写代码来解决XML并发访问的问题,但是我并不想那样做,因为TXT在并发访问方面做的很好,而且不需要额外的代码来帮助实现这一功能。
第三点,由于使用TxtCache,在TXT中我使用的是自已设计的数据结构,所以不管是存储数据还是读取数据都比较方便。再加上我将这些操作封装在类中,那样就更加面向对象了。嘿嘿


------解决方案--------------------
顶一下