【问题标题】:Logging erros in SQLite database from C# Windows Forms Application从 C# Windows 窗体应用程序记录 SQLite 数据库中的错误
【发布时间】:2010-05-03 06:20:48
【问题描述】:

我正在用 C# 开发一个与 WCF 服务通信的 win 应用程序。我想记录客户端上引发的异常以记录在 Sql Lite 数据库中(Win 应用程序使用 Sql Lite 数据库在本地存储数据)。然后在需要时将其发送到 wcf 服务,以便对支持/分析/应用程序改进有用。

我想要一个可以在每个 catch 块中直接由LogHelper.Log(ex) 调用的方法。

我想知道是否有人通过企业库完成了这项工作,或者在这种情况下使用了任何好的做法?

更新 我已经在使用 sql lite 数据库通过 System.Data.SqLite 库在本地存储数据

【问题讨论】:

    标签: c# winforms wcf sqlite error-logging


    【解决方案1】:

    我最近写了许多关于此的博客文章。我确信其中一个会提供您需要的答案:

    【讨论】:

    • 抱歉,没看到你在看 EL。我的帖子专门用 NLog 解决了这个挑战。当客户需要它时,我也使用 EL——从来没有用 SQLite 做过。如果你有选择,我建议你看看 NLog。
    • 谢谢托马斯,我正在调查。看来我可以用了。
    • 如果你能把源代码贴在你的博客上就太好了。源代码总是有帮助的。 【开玩笑】你知道开发者阅读和理解代码的速度比英文还快吗? :D
    【解决方案2】:

    您不能直接使用带有 sqlite 数据库作为后端的微软企业库。对所有数据库操作使用System.Data.SQLite 库。

    如果您仍想使用企业库,请查看此article。无论如何,您必须安装 System.Data.SQLite 库。根据我的经验,System.Data.SQLite 足以满足所有数据库操作。

    再提醒一句,sqlite 不支持并发。因此,任何数据库操作都会在持续时间内锁定整个数据集。

    【讨论】:

    • 我已经在使用 sql lite 数据库通过 System.Data.SqLite 库在本地存储数据。
    【解决方案3】:

    添加对您的项目 System.data.sqlite 的引用 比为 sqlite db 连接调用命名空间 之后写基本的日志编码。 应用它肯定会工作

    【讨论】:

      猜你喜欢
      • 2011-08-09
      • 2022-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多