开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo项目分析
? ??開源框架完美組合之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,拿去花吧。
總結
以上是生活随笔為你收集整理的开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo项目分析的全部內容,希望文章能夠幫你解決所遇到的問題。