我最近在 Darren 的博客 ( http://dotnetdarren.wordpress.com/ ) 上找到了关于登录 MVC 的 6 部分文章系列。
这是一篇关于如何使用 Elmah、Log4Net、NLog 和健康监控以及使用单个 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