您的位置:首页 > Web前端 > JQuery

"开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo"项目分析

2015-03-29 18:38 1416 查看
开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo,这个是一个在网上流传比较多的Spring.Net和NHibernate的案例,该项目组合了多个框架,可作为实际项目的框架,学习也是很好的例子;原作者是一个叫刘冬的程序员。下面鄙人对该项目做一些分析,以便找到可以直接拿来用的东西。

源码下载:
http://pan.baidu.com/s/1pJJW4Fh
首先运行起来看一下,包括五个项目,如下图;



先找一下有没有附带数据库;没有的话运行不起来看不到效果;在WebSite项目的App_Data目录下有数据库;



看一下该数据库,后缀.db,那么可能是SQLite的数据库;用SQLite3载入该db文件,显示一下表;有四张表;但是表的内容乱码;可能是SQLite的中文支持问题;



用SQLite的图形管理工具载入该db文件,可看到表的内容;



现在数据库有了;运行一下;显示如下图的错误;该项目用了多个框架,此错误显然是NHibernate方面的错误;



以下是堆栈;显示错误跟System.Data.SQLite.dll有关;



网页上给出的错误提示;应该是缺少System.Data.SQLite.dll;



在网上下载一个System.Data.SQLite.dll;添加到项目引用;



再运行,还是同样的错误提示;当然可以追踪堆栈具体分析;不过根据经验这是NHibernate配置和数据库版本不兼容的问题;

看下项目的SQLite配置节;

<!--SQLite-->

<add key="provider" value="System.Data.SQLite" />

<add key="connectionString" value="Data Source=|DataDirectory|DataBase.db;Version=3;FailIfMissing=False;" />

<add key="dialect" value="NHibernate.Dialect.SQLiteDialect" />

<add key="driver_class" value="NHibernate.Driver.SQLite20Driver" />

NHibernate配置数据库驱动时,如上最后一行,相同数据库的不同版本,其驱动程序的名称略有不同;这是比较搞的一个地方;如此处不同SQLite版本,可能写"NHibernate.Driver.SQLite20Driver",也可能写“NHibernate.Driver.SQLiteDriver”;试着改变这个地方;还是相同的错误;

当然这个地方有不同的解决方法;不过最方便的还是引用合适版本的System.Data.SQLite.dll; 在网上下了几个dll,均版本过高;这个地方需要版本低于1.7以下才行;才能用

NHibernate.Driver.SQLite20Driver 这个字符串;后来我下到一个合适的DLL;再运行,一切正常,出现了首页。我所附源码中包含1.0.65.0版本的dll,项目可直接运行。OK,拿去花吧。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐