无论是什么论坛,在为了更好的发展,都会出一些转换程序,以便原先使用其他论坛的用户进行转换操作,不过现在的论坛版本繁多,不能一个一个的去写吧,自己动手打造一下吧!
首先确定要转换哪些内容:
1、用户:帐号和密码(这些是帐号基本信息)
2、版面分类:一般的大版面,相对于Asp.Net forums的forums_forumGroups表
3、小版面:这些都是一些版面,不过要注意,很多论坛都是无限分类的,而Asp.Net的无限分类还不是很成熟,当初也没去研究,所以我一般把第三类的子版面都合并到第二级。相对于表:forums_Forums
4、帖子内容:这是我们的大问题,因为我们面对的是不同的用户,有大论坛,也有小论坛。稍后来说。
5、管理员:这部其实很方便,把管理员和版面都提取出去,然后插入到forums_Moderators表中
6、用户的信息:用户的一些其他信息,虽然不怎么重要,但是为了更全面的,这部就得多费点心了,为了方便,就直接引用AspNetForums.Components.dll,调用其中的userToEdit.SerializeExtendedAttributes()方法。
这些都是我归结的主要内容,有什么遗漏大家可以指出
在帖子方面我一开始是这么考虑的,判断是否是主题,是的话插入到Forums_ForumThreads表中,然后根据再插入到Forums_ForumPosts表中。虽然这是可行的,但是在实际操作中,对于大论坛就会出现超时,这点让我很头疼,后来看了宝玉的转换程序,恍然大悟,就调用Net Forums的存储过程就行了,等于就是重新发了一次贴,这个方法可行的。但有一点,对于Sql Server性能不是很好的用户来说,可能转换会非常慢,最好大家量身而定。
建议:
因为论坛原本就有几个板块和一个用户,最好大家在创建表的时候不要去执行创建管理员和创建版面,以便转换方便点,否则你得进行版面转换操作,才能在转换帖子得时候能够准确的找到自己的版面。
不建议修改论坛原先的存储过程。