博易用户交流群
博易用户之间交流、解决使用中的问题、经验等话题。
vhost QQ 群:9293345
验证信息:BlogYi.net
博易主机
提供经博易认证的虚拟主机产品及各种域名
vhost

九九数据合作伙伴
销售一 销售二
日历
<<  七月 2008  >>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
BlogEngine.NET
ASP.NET
Windows Server
Visual Studio.NET
Office Access
SQL Server
CodePlex
51aspx.com

这段时间的发展之后,我们已经收到了博易用户们的一些互动需求。据观察我们发现有相当一部分用户对于博易的开发技术和源代码的二次使用感兴趣,官方决定开设“自言自语”博客,记录博易开发者们的故事和学习笔记,希望能够满足用户的一部分研习博易的需要。这个博客暂时由 Spoony Sonny 维护,我们希望有更多的研习博易开发技术、页面设计的朋友加入进来,一起丰富、完善“自言自语”。

点这个链接访问自言自语:http://my.blogyi.net/

当前评分 3.0 , 共有 5 人参与

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

在 web.config 文件的 <appSettings> 节点集中修改 <add key="BlogEngine.FileExtension" value=".aspx" />。默认为".aspx"后缀,可以自定义您希望的后缀(如 .do/.go/.html 等等)。如按照此法配置之后会出现404错误,则还需要配置虚拟目录的映射,具体方法请看下面。

在“控制面板”-“管理工具”-“Internet 信息服务”选择您的网站,右键“属性”。

在主目录选项卡点“配置...”。

添加一条映射,点“添加”。

其中“可执行文件”参照“.aspx”映射的可执行文件路径来填。“扩展名”填上一步web.config中设置的文件类型名。特别要注意的是“检查文件是否存在”前的钩要去掉。这样配置过就行了。

当前评分 4.0 , 共有 5 人参与

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

这是一个单独使用的小程序,如果您是有经验的站长,您可以把他当作一个 .net 2.0 的探针来使用。这个小程序不仅实现了探针的基本功能,还提供了一些高级功能,操作非常简单。

功能1.查看服务器及当前虚拟目录信息(其中的物理路径对于配置博易的 Access 数据库有用)
功能2.查看客户端信息
功能3.在线压缩文件(可用于网站备份)
功能4.在线解压(可用于安装程序,有了他,安装博易等程序就方便多了,您只需要上传压缩包,然后在线解压即可省去逐一上传每一个文件所耗费的事件了)

本程序 Bin 目录需上传至虚拟目录的根目录。

下载:BlogYi ASP.NET Utility Tool Pagev1.0.zip (50.89 kb) (需要 .net 2.0 支持)

当前评分 5.0 , 共有 1 人参与

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

博易的运行是不需要专门的数据库的,它的数据默认全部存放在一组XML里面。为了满足用户更多的需求,博易又支持了扩展数据库。这就意味着您可以将多种数据库用来支持博易的运行。下面我们给出如何将博易运行于 Access 之上的解决方案。

1.修改 Web.config 的 <BlogEngine> 节点中 blogProvider 节点,将其值设为“OleDbBlogProvider”。

2.修改 Web.config 的 <connectionStrings> 节点中 <add name="OleDbBlogEngine" ... />节点,将 connectionString 的值设为 Access 的连接字符串。

注释:
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<database path>"
<database path> 为 Access 数据库文件在服务器上的物理路径,例如:
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\wwwroot\BlogEngine.Web\App_Data\BlogYi.mdb"
为了防止数据库被人恶意下载,我们建议您将数据库文件存放在App_Data目录下。

只需完成以上两个步骤即可!

当前评分 3.7 , 共有 3 人参与

  • Currently 3.666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

终于,博易实现了全面支持 XML、Access 和 SQLServer 三种数据存储方式。经过我们的完善,BlogYi v1.5 正式发布了。之所以将这个版本号拟定为 1.5 是为了避免与英文官方的版本号混同而误导用户。该版本所做更新主要如下:
核心增加了对 Access 数据库的支持
(至此已成为国内首个全面支持 XML/Access/SQL Server 三种数据存储方式的博客)
清除数据缓存功能
用户界面多处的细小修改

需要特别说明的是,新版本完全兼容 BlogYi v1.0 的主题模板和插件。

下载页面:提供程序文件和完整源代码。

关于 XML、Access 和 SQLServer 三种数据存储方式的配置可以参见:如何支持 Access 数据库? 以及 如何支持 SQLServer 数据库?

与此同时,我们还为您准备了一款能帮助您快速安装 BlogYi 的套件 —— BlogYi ASP.NET Utility Tool Page v1.0

当前评分 5.0 , 共有 3 人参与

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

博易向您提供这篇文章是建立在您已经对ASP.NET中的概念有比较深入了解的基础之上的。您可能需要了解.NET的委托、事件等概念。

博易给插件的扩展提供了两种主要的事件接口。Post.Serving事件是与调用文章相关的事件接口;Post.CommentServing事件是与调用评论相关的事件接口。订阅这两个事件可以在调用文章和调用评论时调用您编写的程序代码。这个调用与系统的钩子(Hook)相似。完成一个完整的插件扩展只需要4个步骤!

下面以开发一个防图片盗链的插件扩展为例说明。

第一步:
按照如下形式构造一个类,之所以要规定形式,是为了便于插件管理系统统一管理。

[code:c#]
[Extension("防止本站图片显示在其他网站之上")]
public class StopLeechers
[/code]

第二步:
为这个类创建一个无参构造函数,这个函数将在整个系统启动时被调用。

[code:c#]
public StopLeechers()
{
  ImageHandler.BeforeServing += new EventHandler<ImageHandler.FileHandlerEventArgs>(StopReferrers);
}
[/code]

第三步:
现在,我们已经订阅了事件。下面则需要实现该事件的逻辑,也就是您希望添加的代码。

[code:c#]
void StopReferrers(object sender, ImageHandler.FileHandlerEventArgs e)
{
  HttpContext context = HttpContext.Current;
  if (context.Request.UrlReferrer != null)
  {
    if (context.Request.UrlReferrer.Host != context.Request.Url.Host)
    {
      context.Response.StatusCode = 403;
      context.Response.End();
    }
  }
}
[/code]

以上代码的作用是检查URL请求是否来自本地主机,如果不是则返回一个403号错误请求并中止请求。

第四步:
最后要做的就是将经过上面步骤所完成的类放到App_Code目录下。系统将自动激活并启用该类!

此外,博易还提供了如下事件接口:
ImageHandler.BeforeServing - 调用图片前触发
ImageHandler.ImageServing - 调用图片中触发
ImageHandler.BadRequest - 错误请求图片时触发
FileHandler.BeforeServing - 调用文件前触发
FileHandler.FileServing - 调用文件中触发
FileHandler.BadRequest - 错误请求文件时触发
Post.Saved - 保存文章时触发
Post.Rated - 对文章评级时触发
Post.BeforeAddingComment - 发表评论前触发
Post.CommentAdded - 发表评论时触发
Post.BeforeRemovingComment - 删除评论前触发
Post.CommentRemoved - 删除评论时触发
Post.Serving - 调用文章时触发
Post.CommentServing - 调用评论是触发
Page.Saved - 保存页面时触发
BlogSettings.Changed - 更改博客设置时触发
CategoryDictionary.Saved - 分类保存时触发

另附以上示例完整源代码。StopLeechers.zip (741.00 bytes)

当前评分 3.0 , 共有 4 人参与

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
下载之后解压到Themes文件夹下,系统将自动识别。启用该模板在控制面板中高级设置里选择并启用即可。

预览如图

演示:http://www.blogyi.net/?theme=Blackone

下载:themes_Blackone.zip (10.24 kb)

感谢 Fanne 友情提供该主题模板。

当前评分 4.5 , 共有 4 人参与

  • Currently 4.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

前言
博易的模板机制基于DotNet 2.0的模板页实现,简易而强大。您几乎只用修改3-5个文件就可以制作出一套个性主题模板了!本文为教程基础篇,仅介绍实现最简单的模板所必要的知识。要深入了解ASP.NET并达到透彻理解博易模板机制还请通过Google搜索相应的知识条目。

了解
每一套模板都在BlogEngine.Web\themes目录中以文件夹的方式存放。修改Name模板则只需修改Name文件夹内的相关页面,需要增加自己的模板时,我们建议您先把现有的模板文件夹复制一份并重命名,然后再基于此进行修改工作,这样可以减少很多的工作量。修改模板可能需要您具备ASPX控件的一些概念性的知识,一旦概念熟悉了,博易的模板制作将是一件比任何现有系统的模板制作都要简单的事情!

基础知识
必备工具
对于ASP.NET新手,我们建议您使用VisualStudio.Net 2005,因为它将帮助您梳理好文件结构。此外您还可以配以专业的网页设计、图像处理工具,Dreamweaver、Fireworks、Photoshop等。对于高手,您可以根据自己习惯开选择工具,如果并不需要修改程序的话,您甚至可以仅使用记事本加之一些辅助编辑工具即可。

涉及主题模板的文件类型
.aspx 页面文件,通过URL可访问。
.ascx 用户控件,组成页面的一个部分。
.master ASP.NET 2.0所特有的母板页,用于提供页面通用部分作为每个页面的模板。
.cs 程序员文件,可以和.aspx和.ascx或.master等文件关联实现动态页面。
.css 样式表文件,用于页面的布局、风格的修饰和呈现。

制作博易主题模板不得不了解的几个文件(在themes目录下的相应的主题模板目录中),下面以Mobile主题模板(图1)为例。

图1
site.master和site.master.cs文件组。这应该是构成主题模板最重要的文件了,它与.css文件配合使用,用于整个页面框架的内容、布局的呈现。博易的几乎每一个页面都要引用该文件组。其中site.master包含页面框架的内容(图2)以及对用户自定义控件的引用(图3A\B)。

图2


图3-A


图3-B

图3-B中<asp:ContentPlaceHolder ID="cphBody" runat="server" />是母板页中的占位符,比如A页面套用了该母板页,访问A页面时,页面将呈现出母板页,并以A页面的内容(<asp:Content ID="Content1" ContentPlaceHolderID="cphBody" Runat="Server">…</asp:Content>)替换母板页中的<asp:ContentPlaceHolder ID="cphBody" runat="server" />处内容。例如tag.aspx页面中:

<asp:Content ID="Content1" ContentPlaceHolderID="cphBody" Runat="Server">
  <div id="contact">
    <div id="divForm" runat="server">
      <h1>标签</h1>
      <blog:TagCloud ID="TagCloud1" runat="server" />     
    </div>
  </div>
</asp:Content>

PostView.ascx和CommentView.ascx文件组。分别是构成文章列表和评论列表的控件。
<%@ Control Language="C#" … Inherits="BlogEngine.Core.Web.Controls.PostViewBase" %>
此行截取自PostView.ascx首行控件的定义,表示该页面所依赖的页面类为BlogEngine.Core.Web.Controls.PostViewBase。CommentView.ascx中的类似。

结束语
理解博易的主题模板就是这么简单,此文全为抛砖引玉,欢迎有动手能力强的朋友以此操作一下,写一个案例教程。

当前评分 4.4 , 共有 5 人参与

  • Currently 4.4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

博易发布的这么多天来得到了很多朋友的支持,感谢大家。我很遗憾的是,按照计划本应该建立一个讨论区供用户交流,但为了实现这一点,众多的问题就都出来了。我们没办法保证讨论区中的所有内容都是经过审批之后才发表的,而未审核的内容之中我们又没法保证它们是没有侵犯权利的。为此我们暂时取消了建立讨论区的方案,而取而代之以QQ群作为用户交流的平台。

QQ群号码:9293345(博易用户交流群)。加群时验证信息请填写“blogyi.net”,否则群主将视为非法请求而不予以批准。该群用于博易用户之间交流、解决使用中的问题、经验等话题。

当前评分 4.7 , 共有 3 人参与

  • Currently 4.666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
下载之后解压到Themes文件夹下,系统将自动识别。启用该模板在控制面板中高级设置里选择并启用即可。

预览如图

演示:http://www.blogyi.net/?theme=Dirtylicious

下载:Dirtylicious.rar (27.68 kb)

当前评分 4.3 , 共有 3 人参与

  • Currently 4.333333/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5