您的位置:首页 > 其它

Oxite是个什么玩意-Oxite基本概念和配置

2010-01-27 18:22 239 查看
最近在cnblogs的MVC小组里发现了Oxite这个框架,于是到网上一通打听。发现这是个Microsoft的开源CMS框架,本以为在codeplax上download个包就能玩玩了,没想到折腾了好几天才看见它的庐山真面,下面就说说我的配置心得。

先说说系统要求:

首先我用的是2009.2.15的发布包,其他版本的包,总在编译的时候报找不到ModelBinderResult,遂放弃。

asp.net mvc框架 我用的是2.0RC,实验证明1.0 RC也可以

VS2008我用的是SP1的

SQL必须是2005,或者2008,2000的话无法安装和附加数据库,注意2000的数据库实例也不行

剩下就是一些系统必须的DLL文件了,http://oxite.codeplex.com/Wiki/View.aspx?title=gettingstarted这个地上有一些,还缺少一个AntiXssLibrary如果有人需要,留下你的邮箱我会给你发过去。

附上转载Oxite 项目结构分析http://dotnet.cnblogs.com/page/55899/

Oxite中有6个Project,每个项目各自作为项目架构中的不同的层。下面我们来各自的分析一下这6个项目。

  我们可以看到这六个项目分别是Oxite,LinqToSqlDataProvider,MVC,Test,OxiteSite,(Oxite.Database 需要安装SQL Server2005)。





  1. Oxite

  该项目中包含了Routing的定义,Model和Services服务层的代码,还有Oxite运行时的后台服务类,配置类,同时,在该项目中也定义了数据访问层的接口,但并没有实现。





BackgroundServices 定义了插件的服务类,
Extensions 则是各种常用方法的扩展,如IP地址,字符串,以及反射。
Handlers 对HttpHandler进行重载的类。用于对用户请求进行操作。
Infrastructure 本目录中有大量的类,定义了公用方法,
Model 这个对OO来说最容易理解,就是对象的定义,在MVC中的M。
Repositoris Oxite的数据访问层接口,使用了Repository模式,和Linq2SQL配合。
Routing 对Routing规则的定义和扩展。,同时也有相应的约束。
Services Oxite的服务层,也就是传统三层架构中的中间服务层。内有服务的接口和具体实现。
Validation 一些常用的验证方法。

  2. LinqToSqlDataProvider

  This project contains implementations of all the repositories and uses LinqToSql for data access. Currently it doesn't map the database directly to the entity objects but rather to an intermediate set of objects which are then translated into the standard Oxite entites. This is one of the areas we're looking at changing in a future release.

  该项目包据了数据访问层的实现,并用LinqToSql 进行数据库的操作。





  这个Project中用到了LinqToSql,在项目架构中充当的是数据访问层的实现。

  3. MVC

  本项目中包含控制器和视图层的所有代码,用于Controllers到Views的数据通信,并包含用WCF所写的MetaWeblog API用于提供对外服务。





ActionFilters 定义了各种拦截器
Controllers 所有的Controllers都在这个目录下定义。
Extensions MVC框架中的一些方法扩展 BlogML,DateTime,HtmlHelper,HttpCookie
Infrastructure 基础类
ModelBinders 作用是将客户端提交的一个数据转化成Model,简单或复杂类型。为Action生成复杂对象参数
Results
Services 对外的一些服务接口。
Skinning 对主题皮肤操作的一些方法
ViewModels 从Controller中的数据绑定到View时所用到。
ContainerFactory 反射工厂
OxiteApplication.cs 将Globle中的方法转移到这里,将Site项目只负责项目的显示。

  4.MVC.Test

  该项目定义了整个解决方案的测试类,使用Xunit.net 测试框架。

  5.Site

  该项目包含视图,主题和Web.Config文件。并将所有的C#代码放在了Oxite.Mvc项目中。





Site项目中是没有C#代码的,只负责视图的显示。
Content 一些公用的内容,像公用图片,公用脚本,公用资源
Skins 皮肤。里面包含了主题所使用的样式文件和Scripts。 (我个人感觉将一些公用的Scripts放到Content下更合适。)
Views 视图Shared 公用的东东。像Error,MasterPage

  6. Oxite.Database

  数据库项目,方便数据库架构、数据的对比、更新与部署。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐