今天看到mmkk 的回复,就试着安装了一下 这个 AspForum 2.0 .
第一步:
安装数据库:
在自己的Sql Server 里创建一个库: AspForumDB
Create Database AspForumDB
然后运行几个 .Sql 脚本文件.(请注意顺序)
文件都在: (forums_latest_source\ASP.NET Forums\Data Providers\SqlDataProvider\sql) 中
- 2003.10-Tables.sql
- 2003.10-Functions.sql
- 2003.10-Procedures.sql
- 2003.10-Data.sql
- 2003.10.Alpha.sql
- forums_alpha_to_beta.sql
第二步
创建 Forum 2.0 工程(你的机器上一定要IIS, VS 2003)
- 把 forums_latest_source\ASP.NET Forums\Web 目录全部copy 到 你的web 目录 (一般为C:\Inetpub\wwwroot) 的 Forums 目录中.
- 打开你的IIS 管理器,为这个Forums 目录创建一个虚拟目录
- 找到 \forums_latest_source\ASP.NET Forums 目录中的 ASP.NET Forums.sln 文件,双击, 应该没什么问题就可以打开了
- 由于编码的问题. 工程一开始是不能编译的. 有一个地方要改一下.
- orums_latest_source\ASP.NET Forums\Controls\Navigation\JumpDropDownList.cs 中的69,75,81 行的“?”号,改为 “引号” , 这样就可以正常编译了
第三步
修改Web.config 文件
- 因为我们使用的是Sql Server 数据库,只要把providers>SqlForumsProvider > ^SqlConnectionString^ 字段修改一下.也就是你的数据库连接字符串 (如
ata source=192.168.0.1;user id=sa;password=password;initial catalog=ASPForumDB;Connect Timeout=30)
- 修改compilation 中的 debug 为 true ,后面我们要调试工程
- 到这里,已经可以运行了. 把 Defualt.aspx 设为启动文件, 按下F5 , 应该看到界面了.
第四步
处理一些BUG
- 运行后我们发现,注册用户很正常, 但注册的用户就是登录不上. 为什么呢?可能是作者发布的比较急有些地方没有处理好.
- 找到 forums_latest_source\ASP.NET Forums\Components \users.cs 文件的843 行
user.Password = Encrypt(Globals.GetSiteSettings().PasswordFormat, password, user.Salt); 修改为
user.Password = Encrypt(Globals.GetSiteSettings().PasswordFormat, password, "") ;
- 然后重新编译系统.
- 重新注册一个用户, 试一下登录,应该可以了
第五步
添加管理员
- 打开你的SQL 查询分析器, 连接 AspForumDB 数据库, 运行"elect UserId from Forums_Users where UserName='管理员帐号'" 得到一个UserId 号
- 然后运行 "exec forums_Roles_AddUser UserId ,1"
因为只是安装了一下,功能基本上都可以使用了. 有什么问题以后再补充吧.
我们在编写一些文档管理的项目时一定会有这样的问题。想控制客户下载的文件和下载次数,以及下载的时段。
比较好的方法是:使用ActiveX 控件就象 http://www.gotdotnet.com 中的代码共享。
通常我们不会选择怎么复杂的方案。
我的解决方案是:
在系统的 非Web 目录中存放文件,文件名已经经过了编码(主要是安全的考虑),当然我们也可以对文件内容进行加密。把真实的文件名放在数据库中(这样比把文件放在数据库上,如果客户有一个1G的文件,那你只有哭了 )。
用户下载的链接如下:
http://www.test.org/filedownload.aspx?e6feeccd90a9463d93b9dc231115bbb9 (是不是很象MS 的下载中心)
代码:
private void Page_Load(object sender, System.EventArgs e)
{
//读取文件
if (null!=Page.Request.Url.Query )
// 请求字符串为
FileGuid = Page.Request.Url.Query.Substring (1); // fileGuid= e6feeccd90a9463d93b9dc231115bbb9
// Globals.fileLibDir 就是那个我们存放文件的目录
if (!File.Exists(Globals.fileLibDir + FileGuid))
{
// 文件没有找到
Page.Response.Redirect ("error.aspx?msg=文件不存在",true );
return;
}
// 真实的文件名
string fileName = getFileNameByStorageName(FileGuid);
if (fileName == string.Empty )
{
//文件没有找到
Page.Response.Redirect ("error.aspx?msg=链接错误,请与管理员联系!",true );
return;
}
Page.Response.ContentType="APPLICATION/OCTET-STREAM";
// 注意下面的Encode 编码,不然无法处理中文文件名
Page.Response.AddHeader("Content-Disposition","attachment; filename=" + HttpUtility.UrlEncode(fileName,Encoding.UTF8 ) );
Page.Response.WriteFile ( Globals.fileLibDir + FileGuid);
}
今天收到了 Forum 2.0 Latest Source Code ,不知道是不是最终版本了. 是 2004 年3月19 日打包的.
记得 Forum 1.0 beta 1 发布的时候我还在学校, 可以说Asp.net Forum 是我学习 ASP.Net 的启蒙教程. 甚至自己还学着他的代码,写了一个小Forum. 这个版本的ASP.Net Forum 2.0 的代码我还没有看,但我想一定会有所收获的。
因为我的项目在紧张的进行中,所以也就很少有精力来写技术文章。
Forum 2.0 latest source Code DownLoad ! 3915KB
Check out http://msdn.Microsoft.com/vcsharp/team/blogs/ to check out the rest of the C# crew's blogs.
Microsoft 的好多项目组都建立了自己的 Blog 系统.看来,Micrsoft 对于 Blog 还是很宽容的.有些大公司都会对员工的博客内容进行限定(当然了,我感觉也是非常有必要的).
上次在Microsoft 的一位职员交谈时候了解到,Microsoft 对于Blog 的限定是:在你的上司还没有就事件还没有发言之前,请保持沉默.(不知道是不是真的有这样的手则?) 但从我的了解来看,各大项目组的blog 中可以说是无所不谈!!呵呵.
还有就是关于地区独立定价的问题.很难说是对,还是错.也很难说现在的中国能接受怎样的软件产品.昨天在一家卖洁具的公司看到价值 5000 - 10000 之间的水龙头.很难想象在当前的中国会有市场.但听说还卖得不错.所以说还是让Microsoft 的高层去决定吧.就不费那个心去想了.
几天前,收到了Grace Zhang 寄来的奖品,衣服很漂亮(我会好好珍藏),鼠标非常好用(鼠标当然要用了,不用不能算是好鼠标 ).在些再次感谢我们的 MVP 们与MVP Leader .
MVP: 微软技术的推广者.他们会帮助一切渴望帮助的人.他们有很专业的知识,有很具挑战的工作,有无限的精力,有无法想象的热情.多么可爱的一群人.这就是我对MVP 的评价
博客堂:在她创建之初我就加入了这里,我们的“开心“为她注入了自己的活力,我们每一位MVP 都为她贡献着自己的那一分力量.希望她能成为 Microsoft 在中国最强的开发力量(其实已经是了).博客堂的每一位成员,请珍惜你的帐号,如果工作不是很忙,如果还有一点点时间,请不要吝啬您的智慧与带宽.
最近公司一直在开发几个系统.因为是几个团队并行开发. 有专门一个团队开发各系统的公共部分. 其它都有自己的开发项目。这个公共项目组人数是最多的,我现在就在领导这个公共项目组。
项目的开发初期,在其它团队还没有组建之前,我们所有的程序员都是公共项目组成员。进行平台级的开发,当平台开发到一定的进度(也就是一个里程碑阶段),从公共项目组分离出第一个独立项目组.慢慢其它两个项目组也产生了.测试团队也跟着开发团队进行分离.
我们内部这了进行有效的交流,也使用了博客系统.来做为个人的开发日志与开发白板.每个人都有一个SharpReader , 里面有所有人员博客的 RSS . 用以保证交流的通畅.在每天的立会(其实是例会,但因为大家都站着,所以就叫"立"会了)中会就大家的日志进行讨论.
刚刚开始都是开发技术上的讨论,慢慢得大家都会汇聚到系统结构方面.这样就会大大影响开发进程,因为前期我们的需求做得比较充分,一般不会有太大的结构问题.所以,我们规定了在博客中不要谈及系统结构问题.有建议可以用Project Email 的方式,提交项目管理组.
这样, 开发团队与博客系统可以比较好的结合了(至少现在它们还是很合目的
).
- FreeTextBox 2.0 Released , 而且支持中文. 作者对FreeTextBox 进行精减.
- BizTalk Server 2004 Developer Competition : 是以 BizTalk Server 2004 RTM 版本进行开发,大奖有15000 美元. 下载参加细则, BizTalk Server 2004 RTM 版本 会在 MSDN 站点中提供下载.
- 今天在 Microsoft 中文站上看到一个倒记时, MSDN 中文版, 3 月 31 日开放. 中国的MS 开发人员有福了.