尝试设置 DotNetNuke 内容本地化时出现异常
我试图设置 DotNetNuke 内容本地化,但是当我单击语言页面上的启用本地化内容时,显示的进度条卡住了。
我正在检查事件日志,注意到它引发了一个一般异常:
默认数据提供程序:DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider 异常GUID: a139c600-71a0-4ee3-a66f-5968bd2bdfde 内部异常:事务 (进程 ID 56)与另一个进程在锁资源上发生死锁 并被选为僵局受害者。重新运行事务。 文件名: 文件行号: 0 文件列号: 0 方法: System.Data.SqlClient.SqlConnection.OnError StackTrace:消息: System.Data.SqlClient.SqlException:事务(进程 ID 56)已 与另一个进程在锁资源上发生死锁并已被选择 作为僵局的受害者。重新运行事务。在 System.Data.SqlClient.SqlConnection.OnError(SqlException异常, 布尔中断连接) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、 BulkCopySimpleResultSet BulkCopyHandler、TdsParserStateObject 状态对象)在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior,字符串resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior、RunBehavior runBehavior、布尔值 returnStream、布尔值 异步)在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior runBehavior、布尔值 returnStream、字符串 方法,DbAsyncResult 结果)位于 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult 结果,字符串方法名称,布尔值 sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection 连接、CommandType commandType、字符串 commandText、 SqlParameter[] 命令参数)位于 Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(字符串 连接字符串,命令类型命令类型,字符串命令文本, SqlParameter[] 命令参数)位于 Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(字符串 连接字符串、字符串 spName、对象 [] 参数值)位于 DotNetNuke.Data.SqlDataProvider.AddSearchItemWordPosition(Int32 SearchItemWordID、字符串 ContentPositions)位于 DotNetNuke.Services.Search.SearchDataStore.AddIndexWords(Int32 indexId、SearchItemInfo searchItem、字符串语言)位于 DotNetNuke.Services.Search.SearchDataStore.StoreSearchItems(SearchItemInfoCollection 搜索项目)
它应该以三种语言本地化页面:pt-BR(Main)、en-US 和 es-ES。但它仅适用于 en-US。它成功本地化了 en-US 中的所有页面,但在 es-ES 中它只本地化了第一页。
现在,每当我尝试执行一些与页面相关的活动时,例如添加 3 种语言的页面时,当我尝试编辑页面时,页面就会出现错误并不断出现异常。并且该页面不显示 es-ES 语言,仅显示 pt 和 en。这消除了我能想到的所有解决方法,并且在网络上找不到任何解决方案。
I was trying to set the DotNetNuke Content localization, but when I click on enable localized content on language page the progress bar that show up stuck.
I was checking the event log and i noticed that it raises a general exception:
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider,
DotNetNuke.SqlDataProvider ExceptionGUID:
a139c600-71a0-4ee3-a66f-5968bd2bdfde InnerException: Transaction
(Process ID 56) was deadlocked on lock resources with another process
and has been chosen as the deadlock victim. Rerun the transaction.
FileName: FileLineNumber: 0 FileColumnNumber: 0 Method:
System.Data.SqlClient.SqlConnection.OnError StackTrace: Message:
System.Data.SqlClient.SqlException: Transaction (Process ID 56) was
deadlocked on lock resources with another process and has been chosen
as the deadlock victim. Rerun the transaction. at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception,
Boolean breakConnection) at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior
runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream,
BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject
stateObj) at
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,
RunBehavior runBehavior, String resetOptionsString) at
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean
async) at
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String
method, DbAsyncResult result) at
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult
result, String methodName, Boolean sendToPipe) at
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at
Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection
connection, CommandType commandType, String commandText,
SqlParameter[] commandParameters) at
Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String
connectionString, CommandType commandType, String commandText,
SqlParameter[] commandParameters) at
Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String
connectionString, String spName, Object[] parameterValues) at
DotNetNuke.Data.SqlDataProvider.AddSearchItemWordPosition(Int32
SearchItemWordID, String ContentPositions) at
DotNetNuke.Services.Search.SearchDataStore.AddIndexWords(Int32
indexId, SearchItemInfo searchItem, String language) at
DotNetNuke.Services.Search.SearchDataStore.StoreSearchItems(SearchItemInfoCollection
SearchItems)
It should localize pages in three languages, pt-BR(Main), en-US and es-ES. But it only works on en-US. It succefully localize all the pages in en-US but in es-ES it just does the first page.
Now anytime i try to do some page related activities, as adding a page in the 3 languages, the pages gets bugged and keep rising exceptions when i'm trying to edit it. And the page doesn't show up in es-ES language, only in pt and en. This elimineted all workaround that i could think and couldnt find any solution on web.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
DotNetNuke 的搜索引擎调度程序存在错误。禁用调度程序,或增加调度程序活动之间的时间以避免并发更新。请参阅此线程。 http://forums.asp.net/t/905236.aspx/1
There is a bug in the search engine scheduler for DotNetNuke. Disable the scheduler, or increasing the time between scheduler activity to avoid concurrent updates. See this thread. http://forums.asp.net/t/905236.aspx/1