2012-02-23 39 views
4

我剛剛禁用了Orchard安裝中的評論功能,沒有意識到它是Disqus的依賴項,現在包括管理控制檯在內的整個站點都失敗並出現此錯誤:如何在沒有儀表板或命令行的情況下重新啓用Orchard CMS功能

在'Disqus.Comments.Services.DisqusCommentUpdateService'類型的策略'Orchard.Environment.AutofacUtil.DynamicProxy2.ConstructorFinderWrapper'中找到的任何構造器都可以用可用的服務和參數調用:構造器'Void .ctor(Orchard .IOrchardServices,Disqus.Comments.Services.IDisqusMappingService,Orchard.Comments.Services.ICommentService)的參數解析在參數'Orchard.Comments.Services.ICommentService commentService'失敗。 描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。 異常詳細信息:Autofac.Core.DependencyResolutionException:可以使用可用的服務和參數調用「Disqus.Comments.Services.DisqusCommentUpdateService」類型的策略「Orchard.Environment.AutofacUtil.DynamicProxy2.ConstructorFinderWrapper」中找到的任何構造方法:構造方法'Void .ctor(Orchard.IOrchardServices,Disqus.Comments.Services.IDisqusMappingService,Orchard.Comments.Services.ICommentService)'參數解析在參數'Orchard.Comments.Services.ICommentService commentService'失敗。

Orchard安裝在Web主機上運行,​​我無法訪問那裏的命令行。我有FTP訪問權限,並可以訪問MS SQL數據庫。有什麼方法可以在不訪問命令行或Web管理界面的情況下重新啓用評論功能?

回答

6

有一個文件/orchard.web/app_data/cache.dat,它是一個xml,其中包含啓用了哪些功能的列表。

該文檔警告說修改它可能會產生不可預知的結果,所以要警告:http://docs.orchardproject.net/Documentation/Developer-FAQ#What'sinApp_Data?

+0

謝謝 - 最終在應用程序池回收後修復了它,看起來即使我按照mdm的建議修改了數據庫,應用程序仍然在啓動過程中使用cache.dat中的緩存值,這是失敗的地方。 – NeilDurant 2012-02-23 14:56:41

2

數據庫中有一個名爲Settings_ShellFeatureStateRecord的表,其中存儲了每個模塊功能的狀態。我重新啓用了以下SQL對我的本地安裝Orchard.Comments(使用SQL Server精簡版):

update Settings_ShellFeatureStateRecord 
set InstallState = 'Up', 
    EnableState = 'Up' 
where Name = 'Orchard.Comments' 

祝你好運!

+0

感謝mdm ...我嘗試了,網站仍然失敗。你需要做其他事情才能使它起作用嗎?我已經試過回收應用程序池,甚至完全停止/啓動服務器,但無濟於事:( – NeilDurant 2012-02-23 13:55:40

+0

您可以嘗試刪除sites文件夾中的'cache.dat'文件,該文件夾基本上是該表數據的緩存。然後重新啓動IIS,您可能還想嘗試使用上面的SQL語句來禁用Disqus模塊,儘管我不確定語法是否在我頭頂(而現在不幸我已經遠離那臺機器) – mdm 2012-02-23 14:57:12

相關問題