推荐一个ASP.NET 论坛开源软件 YetAnotherForum

这年头想找一个好一点的ASP.NET论坛软件真难。我的一个客户用的是 Windows 平台,不好推荐 vBulletin 和 PHPbb,更别说中文社区中用得多的开源论坛软件 Discuz!了。一开始,被同事推荐了这么三个ASP.NET论坛,1)、Jitbit 的 ASPNetForum 4.5.x (free, $85 和 $169 的源码三个以上版本)2)、澳大利亚的 Active Data Online – Discussion Board 6.x ($200) 3)、英国的 Instant Forum 4.x ($119,$199版本)。因为只有 AspNetForum 提供下载的试用版,其他两个只能到他们的demo演示版论坛网站上体验一下。

总的感觉:三个论坛软件都很便宜,尤其AspNetForum。而且AspNetForum 确实简单易用,下载后只要在 IIS 里做个 Application 的目录并将 App_Data 目录改成可读写的,就立即可以使用该论坛自动的 Access 数据。整个 AspNetForum 默认界面看起来也十分明洁,几个试用的同事都说喜欢这种十分简单的论坛。不过,从论坛管理员的角度来说,简单就不是很吸引人了。不但没有各种类型的论坛版面来选,而且有些功能不能直接在管理后台而必须通过改写 web.config 文件来实现。如,控制不良语言的过滤功能等。


而相对来说,Discussion Board 和 Instant Forum 在论坛管理方面就多了很多。不过,由于这两个软件不能下载试用,不知道安装起来是否一样的简单。最关键的这两个来自非美国软件服务商,不太适合我这个政府客户的购买需求。只好继续寻找。。。

不一会,就在因特网上发现了一个免费的 Asp.net 开源软件 YetAnotherForum 1.9.1。赶紧下载试用,虽然在安装中多了一点小插曲,但是使用后的效果十分满意。第一,支持 Asp.Net 2.0;二,支持不同的论坛类型:开放的,监管的等等;三、容易转换的论坛主题,而且可以在版面的层次上有不同的版面;四、可以是单独安装,也可以安装成 .netNuke 等门户开源软件的一个Module;更多的功能可以查看该网站的 功能列表演示、测试论坛。不过,遗憾的是,目前该论坛只支持 SQL Express,而不是其他的 ADO 数据库类型。

好了,最后来讲讲自己的安装经验吧:

  1. 首先当然是下载该开软的源码。
  2. 准备论坛的SQL Express数据库,若没有现成的,可以到微软公司免费下载。不但要有 SQL Server 2005  Express 数据库,最好还要有 SQL Server Management Studio Express 来连接管理这个数据库。主要是要生成一个用于 YAF (YetAnotherForum)的用户名和新数据库。
  3. 拿到上一步的数据库 Instance,Database,Logon Account 和密码信息,就可以改写 web.config 文件。
  4. 最后运行 install/default.aspx 就可以安装这个论坛了。

 

上述过程一切都还顺利,除了在第四步中的某个安装步骤中(我想应该是 step 3 of 4)有个SQL连接的错误信息。我看到的错误信息是:

Login failed … not associated with a trusted SQL server connection

原以为是自己建立的用户名权限太低而耽误了一些时间,后来发现是自己的SQL Server的没有选 Mixed Mode authentication 认证类型的原因。

解决方法;

  • 打开安装好的 SQL SQL Server Management Studio for Express
  • 选中安装好的数据服务器
  • 右击,点 Server Properties (Configure),会到属性窗口
  • 选 安全 Security 选项 tab
  • 在 “Authentication” 中,选中 “SQL Server and Windows”选项。

具体太多的 YAF 的试用心得,等到我用上一段时间再报告吧。嗨,它是免费的,这点就比上三个要收费的强(要得钱不多,那也是MOENY呀)。

5 Responses to “推荐一个ASP.NET 论坛开源软件 YetAnotherForum”

  1. nic

    您在 .Net 2.0 开发吗?

    一个新的开发模式,基于 c# 2.0 + MSSQL 2005

    为什么使用 NicPetShop ?

    1、在使用多层开发,是否存在 inner join 查询的痛苦?

    2、在使用 orM 开发,是否觉得系统很臃肿,调用方法也不尽人意(简单)?

    3、您是否经常为了分页而不断从旧的代码中 COPY 几十行代码,也保证不了分页的易用通用?

    4、您的开发模式使用起来简单吗?

    NicPetShop 可以解决

    1、采用多层开发架构

    2、采用 c# 强类型与数据库表映射,并且引入 .net 2.0 的 System.Nullable 支持可空类型

    3、能将数据库的关系映射到 c#,让您使用更方便,让你不再为 inner join 查询烦恼

    类似 这样的绑定方式
    List User.GetItemsByUser_group_id(int user_group_id); 这样的快速方法生成

    4、高效绑定分页,支持 repeater,datalist,gridview,并且支持设计时(傻瓜式)分页,也可将分页写入代码中,2行以内代码就可以为你制造高性能的多种分页方案

    dataListPager1.DataSouce = User.GetItemsByUser_group_id(user_group_id, dataListPager1.Pager);
    dataListPager1.DataBind();

    5、语法简洁,功能强大

    A、添加数据后即刻返回当前插入的对象(对应数据库表中新插入的行)
    UserInfo user = User.Insert(null, “nic”, “******”);
    //UserInfo user = new UserInfo();
    //user.UserName = “nic”;
    //user.PassWord = “******”;
    //user = User.Insert(user);

    B、按数据库建立的关系直接访问到主表对象
    UserInfo user = User.GetItem(1);
    User_groupInfo user_group = user.user_groupInfo;

    C、在页面上绑定项时很轻易的在关系间访问,特别对于无限级类别表的使用(parent_id -> self.id 关系)

    D、很轻易的得到对应 ID 的所有或自定义获取多少条集合
    List users = User.GetItemsByUser_group_id(user_group_id); //所有
    List users = User.GetItemsByUser_group_id(10, user_group_id); //前 10 条
    List users = User.GetItemsByUser_group_id(new Limit(10, 20), user_group_id); //第 10 到 20 条

    E、按主键或惟一索引生成相应的方法
    int rows = User.Delete(id);
    int rows = User.DeleteByUserName(userName);

    UserInfo user = User.GetItem(id);
    UserInfo user = User.GetItemByUserName(userName);

    F、很轻易的得到所有或自定义获取多少条集合
    List users = User.GetItems(); //所有
    List users = User.GetItems(10); //前 10 条
    List users = User.GetItems(new Limit(10, 20)); //第 10 到 20 条

    H、ConnectionManager 安全管理 SqlConnection,对多线程安全使用
    SqlConnection conn = ConnectionManager.GetConnection();

    I、自动生成 RepeaterPager.cs,DataListPager.cs,GridViewPager.cs,它们分别继承于 System.Web.UI.WebControl.Repeater,System.Web.UI.WebControl.DataList,System.Web.UI.WebControl.GridView,支持设计时

    J、将自己的 web 开发经验常用开发代码集中到生成的解决方案中
    web.config,web.sitemap 的配置
    App_Code\BasePage.cs 的建立,自动添加 Title,meta-keywords,meta-content,siteMapPath操作
    connection.aspx 查看当前 web 程序使用的 sqlconnection 情况

    6、将永久免费给大家使用

    下载地址:NicPetShop.rar
         含两个项目说明

    为了方便程序更新,本版本为 .net remoting 版本
    请确保您的 sql server 2005 能被外网访问得到,不支持生成本地的数据库。

    小提示:如果您是局域名,但又想生成,可以试试安装“花生壳”。

    [Reply]

  2. 向晚

    兄弟现在需要一个论坛,这个用着怎么样啊。还有别的要推荐的没啊?

    [Reply]

  3. Cira Stephson

    Good idea to include screenshots for this Questrade Review. It makes it much easier to get a sense of how good they are as discount brokers. So far i’m very interested.

    [Reply]

Leave a Reply

Your email address will not be published. Required fields are marked *