2014-12-04 57 views
1

我使用OrchardCMS 1.8.1和前一段時間的錯誤報告已到達。 我沒有對代碼或Azure網站設置做任何更改,因此不明白要修復的內容。Azure網站與OrchardCMS原因Http5xx錯誤

這就是我在日誌中看到:

2014-11-10 15:10:18,345 [47] NHibernate.Transaction.AdoTransaction - (null) - Begin transaction failed 
(null) 
System.Data.SqlServerCe.SqlCeException (0x80004005): There is a file sharing violation. A different process might be using the file. [ D:\home\site\wwwroot\App_Data\Sites\Default\Orchard.sdf ] 
    at System.Data.SqlServerCe.SqlCeConnection.ProcessResults(Int32 hr) 
    at System.Data.SqlServerCe.SqlCeConnection.Open(Boolean silent) 
    at System.Data.SqlServerCe.SqlCeConnection.Open() 
    at NHibernate.Connection.DriverConnectionProvider.GetConnection() in c:\Users\sebros\Documents\My Projects\nhibernate-core\src\NHibernate\Connection\DriverConnectionProvider.cs:line 46 
    at NHibernate.AdoNet.ConnectionManager.GetConnection() in c:\Users\sebros\Documents\My Projects\nhibernate-core\src\NHibernate\AdoNet\ConnectionManager.cs:line 196 
    at NHibernate.Impl.SessionImpl.get_Connection() in c:\Users\sebros\Documents\My Projects\nhibernate-core\src\NHibernate\Impl\SessionImpl.cs:line 1634 
    at NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel isolationLevel) in c:\Users\sebros\Documents\My Projects\nhibernate-core\src\NHibernate\Transaction\AdoTransaction.cs:line 137 

任何想法如何避免這種情況?

回答

0

您可能在SqlCe數據庫上有太多的併發寫入訪問權限,這並不適用於此。我可以排除另一個進程,就像您在Azure網站上提到它一樣,將文件保持爲打開狀態。

嘗試重新啓動服務,並確保啓用了輸出緩存。最終使用Sql Server可以更好地處理高併發情​​況。

+0

是的,不要在生產環境中使用SqlCE。這對開發很有好處,但在產品中不夠強大。 – 2014-12-04 19:25:08

+0

是的,你是對的SQL Server將解決這個問題,但MS Azure提供它從盒子,所以我希望這些功能被考慮。另外,SQL Server for Website服務不包含在包中,因此應該額外訂購,以便使Azure網站服務合理 – 2014-12-05 08:58:57