2010-07-10 72 views
0

我正在構建一個非常小的臨時網站,需要一個小型後備存儲。我已經在ASP.NET MVC 2中構建了它,並且想要使用DiscountASP託管 - 儘管這不是必需的。ASP.NET MVC 2嵌入式數據庫

我想要一個可以與ASP.NET MVC 2,VS2010 Express,啓用LINQ(或EF)一起工作的後備存儲,並且在共享主機上不需要額外費用。

從我的調查中,SQLCE 3.5不能在.NET 4中工作 SQLCE 4,僅爲CTP並且在VS2010中不起作用 SQlite沒有任何.NET 4.0驅動程序。

我有這個權利嗎?任何好的教程或博客,展示如何逐步完成這個工作?

謝謝, 馬克

+0

SQLite **可以在.net 4.0上工作 – 2010-07-10 15:53:46

+0

你能指點一下我的信息嗎? – 2010-07-10 21:05:08

+0

請參閱http://stackoverflow.com/questions/2649194/sqlite-nhibernate-configuration-with-net-4-0-and-vs-2010 – 2010-07-11 06:06:17

回答

0

沒有,甚至不認爲有關在ASP.NET中使用嵌入式火鳥。

這是嚴格禁止的。

這裏有Firbird網站的引用告訴你要避免:

是否可以使用嵌入式Firebird在我的ASP.NET應用程序?

是的。但Firebird ADO.NET將在應用程序工作目錄中查找fbembed.dll文件。對於ASP.NET應用程序,工作目錄是系統文件夾(例如C:\ WINDOWS \ System32)。但它並非沒有問題 link text

從同一網站的另一個頁面:

ASP.NET使用功能,有助於防止寫得不好的ASP.NET應用程序以阻止整個服務器 - 它回收ASP.NET定期的工作過程。默認情況下,IIS6使用重疊回收,其中有一個新的進程在舊版本停止前啓動,以確保不間斷的操作。問題是fbembed.dll專門鎖定所有者進程的數據庫,因此如果同時運行另一個進程,數據庫在第一個進程停止之前將無法訪問。您可能想要接受這一點,但它確實不是最佳解決方案。

解決方法是關閉重疊的回收站(通過將DisallowOverlappingRotation元數據庫屬性設置爲true)。但是,這可能會在回收期間導致應用程序中斷。

結論

不做塔**噸;-)。真的,fbembed.dll **不是用來處理這種使用。你可以使它工作,但它只是一個黑客。