C# 是否有类似企业库模式的东西&;控制台应用程序的实践?
控制台应用程序中是否有类似的功能?我特别想找一些用于记录/发送异常通知的东西,而不是在每个C# 是否有类似企业库模式的东西&;控制台应用程序的实践?,c#,exception-handling,console-application,enterprise-library,C#,Exception Handling,Console Application,Enterprise Library,控制台应用程序中是否有类似的功能?我特别想找一些用于记录/发送异常通知的东西,而不是在每个catch块上调用SendExceptionMail函数。我用于这类事情,我通常用多个附加器配置可执行文件,而不用Console.Write()。我通常(至少)有一个 coloredConsolePender或ConsolePender登录到控制台 RollingFileAppender创建日志文件 只需添加一个SmtpAppender即可通过电子邮件发送事件。根据需要向Windows事件日志或SQL数
catch
块上调用SendExceptionMail
函数。我用于这类事情,我通常用多个附加器配置可执行文件,而不用Console.Write()
。我通常(至少)有一个
或coloredConsolePender
登录到控制台ConsolePender
创建日志文件RollingFileAppender
SmtpAppender
即可通过电子邮件发送事件。根据需要向Windows事件日志或SQL数据库添加要记录的其他附加程序
有关一些配置示例,请参见
顺便提一下……为什么需要多个catch
块?除非您实际处理异常,否则您不应该捕获任何东西,尽管存在一些异常:我建议在跨越进程或机器边界的点捕获、记录和继续异常
相反,让例外冒出来。在
Main()
中有一个记录异常的catch
。更简单。控制台应用程序的企业库有什么问题?我可能错了,但我的印象是它只适用于web应用程序?我不确定web应用程序,但它适用于控制台或Windows应用程序。我没有意识到,必须调查+1-除非发生意外错误,否则您不需要电子邮件(除非您希望每天都收到电子邮件)。不应该发生意外的错误。所以,您可能只需要在一个catch块内生成电子邮件。