65.9K
CodeProject 正在变化。 阅读更多。
Home

SharpCMS,一个基于 ASP.NET 2.0 的开源门户服务器

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.74/5 (10投票s)

2005年11月26日

CPOL

4分钟阅读

viewsIcon

115880

downloadIcon

3570

使用 WebParts 和 MasterPages 构建的 CMS。

Sample Image - SharpCMS.png

SharpCMS

我花了很多时间在 ASP.NET 2.0 上。学习的最好方法就是通过深入使用产品来体验它,所以我决定使用新的 WebPart 框架和 MasterPages 构建一个门户服务器应用程序。我的目标是构建一个应用程序,我可以用它来托管我在网络上的新家,www.dive-in-it.nl,并且可以在这个网站上广泛使用皮肤。为什么选择皮肤?主要是因为我的 HTML 技能实在不怎么样,我创建的网站看起来很糟糕。使用皮肤,我可以创建内容,然后让别人来负责让它看起来漂亮!结果呢?SharpCMS!(除非有人想到一个更酷的名字…)

那么,这个 SharpCMS 到底是什么?它是一个用 ASP.NET 2.0 构建的门户服务器应用程序,有点像 DotNetNuke。它还没有功能齐全,但已经是一个不错的开始了。目前的一些功能包括:

  • 使用 MasterPages 和 UserControls 对页面和模块(WebParts)进行皮肤化。
  • 对 WebPart 中的弹出菜单进行自定义渲染。
  • 动态创建门户和子门户、页面,当然还有 WebParts。
  • 安全性,谁可以访问门户/查看页面等等…(几乎全部完成)。
  • 自定义提供程序,用于提供程序模型,例如为新门户提供默认用户帐户。
  • URL 重写,使每个门户都能被搜索引擎搜索到。
  • 一个数据访问层,可以优雅地处理可空类型和其他转换。
  • 资源文件的数据库存储。

由于 ASP.NET 2.0 中的新功能,可以轻松添加各种巧妙的功能,例如 WebParts 的客户端拖放功能(这对于皮肤化的 WebParts 也有效!)。您可以轻松地将任何服务器控件用作 WebPart。Login 模块就是一个例子;它使用了 Login 控件。

我将此项目作为开源发布(显而易见),经过一些研究,我选择了新的 Microsoft 许可模式。我非常希望找到有兴趣投入一些时间参与这个项目的人;一个人独自分享架构等非常无聊!

现在,您可以使用页面顶部的链接下载 SharpCMS 的 Alpha 版本。此下载提供了一个相当原始的版本;您需要使用 SQL 脚本等来安装数据库。将来,我计划集成 MSI 安装程序。此外,此版本尚处于开发中期,我还没有使用任何实际的版本控制。所以有些命名空间和类存在,但还没有实现任何功能。它在我使用的 IIS 主机上可以正常编译和运行。

开发 SharpCMS 遇到了许多技术挑战,我非常愿意分享。请关注我的主页,当然,它还没有漂亮的皮肤!我将它用作部署测试场地,未来可能还会是 SharpCMS 的家。我写了一篇单独的文章,讲述了开发此应用程序过程中一些漫长的夜晚,供那些对这个故事的技术方面感兴趣的人阅读… 呃,可能你们都不感兴趣 :)

安装说明

您需要 .NET 2.0 和 SQL Server。

  1. 下载二进制文件。
  2. 将它们部署到 IIS 网站或虚拟目录。
  3. 转到 SharpCMS.Database 目录,然后按照以下顺序运行所有 'runall.cmd' 文件:
    1. Create Scripts
    2. TextModule
    3. AnnouncementsModule
    4. 存储过程
    5. Fill Scripts
  4. 使用 'aspnet_regsql.exe' 工具安装所有提供程序数据库,或使用 'ProviderDatabases.cmd' 命令文件。
  5. 修改 web.config 文件。根据您的需要更改 SqlClient 连接的连接字符串。
  6. 确保运行 ASP.NET 的帐户对数据库和 SharpCMS 目录的文件系统具有访问权限。
  7. 如果运行在 IIS 上
    1. 转到网站/虚拟目录的 IIS 设置面板。
    2. 打开“主目录”选项卡。
    3. 选择“配置”按钮。
    4. 将 '.res' 文件扩展名映射到 'aspnet_isapi.dll'。
    5. 确保“检查文件是否存在”设置已关闭。
  8. 准备运行!系统将默认为您添加一个新的用户帐户。您可以使用用户名“Host”和密码“pass@word1”登录。
© . All rights reserved.