gpt4 book ai didi

c# - 当这种情况发生时如何通知一个人?

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:28 25 4
gpt4 key购买 nike

我用 C# 制作了一个简单的通知程序命令行应用程序。基本上我使用 Windows 任务调度程序并将其设置为在特定时间运行此命令行应用程序。

当这个时候被击中时,命令行应用程序运行所有通知从数据库(使用 linq to sql)格式化并通过 smtp 发送给正确的人。

现在我应该如何处理这些情况

  1. 发生数据库错误

解决方案:向管理员发送电子邮件,通知他们失败并检查。

  1. 发生 smtp 错误

解决方案:????

因此,这确实是可能出错的两件事。这可能有不同的组合。

可能会出现数据库错误,也可能会出现smtp错误,或者只有一个或另一个可能会出现。

那么如何将此信息提供给管理员或其他人,以便他们进行修复。我非常怀疑管理员会每天去检查通知是否有效。

所以基本上如何让它安全地失效,或者至少让它在出现问题时管理员可以来修复它,然后手动运行通知程序并让所有内容恢复同步。

最佳答案

您有几个选择。

  1. 将错误信息写入日志。让某些运算符(operator)每隔一段时间检查日志成为一种程序。

  2. 它是否调用了其他服务?

但是,如果数据库不仅仅被您的应用程序使用,其他人很可能会注意到。电子邮件服务器也是如此。如果停机,那么我敢打赌很多人都会打电话。请注意,您的情况排除了丢失的网络连接(例如死掉的交换机或错误配置的路由器)。

顺便说一句,如果它检测到 SMTP 已备份,那么它应该通知某人它在给定时间段内已关闭。数据库服务器也是如此。

最后,所有错误情况都应写入您的系统日志。写入 Windows 事件日志非常简单。如果您的系统管理员遵循普遍接受的协议(protocol),他们应该经常监控这些协议(protocol)。

关于c# - 当这种情况发生时如何通知一个人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3242094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com