使用Elmah,Log4Net和健康监测进行MVC记录

时间:2012-05-17 19:02:54

标签: asp.net-mvc-3 log4net asp.net-mvc-4 elmah health-monitoring

我最近在Darren的博客(http://dotnetdarren.wordpress.com/)上发现了一篇关于登录MVC的6篇系列文章。

这是一篇关于如何使用Elmah,Log4Net,NLog和Health Monitoring的非常好的文章,并使用单个UI来查看和管理条目。

这篇文章是在2010年写的,但我已经在我正在开发的MVC 4应用程序上成功实现了它。日志记录工作正常,但在尝试查看组合UI中的条目时确实存在问题。

我收到以下错误:

“System.Data.SqlClient.SqlException:无法解决DISTINCT操作的排序规则冲突。”

如果我注释掉Log4Net的配置条目,我不会再收到错误,我可以看到Elmah和Health Monitoring的条目。只有在Log4Net表中的条目中尝试UNION时才会出现此错误。

任何人对如何解决这个问题都有任何想法?

提前感谢您的帮助。

更新 以下是出现问题的代码(VB.NET):

For Each providerName As String In logProviders.Keys
    Dim logList As IQueryable(Of LogEventModel) = GetProvider(providerName).GetByDateRangeAndType(pageIndex, pageSize, startDate, endDate, logLevel)
    ' Error occurs on this line below, only when Log4Net is in use.
    list = If((list Is Nothing), logList, list.Union(logList))
Next

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题(使用相同的博客系列) 如果你还没有找到解决方案,这就是帮助我的方法:

Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation

干杯