当部署到 Linux 环境时,Environment.FailFast 在 .NET Core 中会做什么?
What will Environment.FailFast do in .NET Core, when deployed to a Linux environment?
此方法的文档说:
Immediately terminates a process after writing a message to the Windows Application event log, and then includes the message and optional exception information in error reporting to Microsoft.
但是如果部署到没有 EventLog 或 Windows 错误报告的 Linux 环境呢?
我希望能够以这种方式立即终止控制台应用程序,但不清楚这是否是正确的使用方法。 Linux 有更好的方法吗?
计划是将我的控制台应用 运行 放在 Linux 容器中。我希望应用程序能够终止,从而导致容器终止,这样基础设施就可以启动一个新的容器。但是,我才刚刚开始使用 Docker(而且我的 Linux 技能很生疏)。所以我在这里不知所措...
我可能不得不启动一个小样本并进行修补,但我希望在这里提出问题,以防有人能提供更快的答案。
TIA
没有什么比尝试一下更好的了!
using System;
namespace testing
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
System.Environment.FailFast("oh shoot");
Console.WriteLine("Bye!");
}
}
}
给我
/tmp/testing$ dotnet run
Hello World!
FailFast:
oh shoot
at System.Environment.FailFast(System.String, System.Exception)
at System.Environment.FailFast(System.String)
at testing.Program.Main(System.String[])
我在 /var/log
的任何内容中都没有看到任何其他日志消息。所以我猜它只是快速存在并将日志转储到控制台。
此方法的文档说:
Immediately terminates a process after writing a message to the Windows Application event log, and then includes the message and optional exception information in error reporting to Microsoft.
但是如果部署到没有 EventLog 或 Windows 错误报告的 Linux 环境呢?
我希望能够以这种方式立即终止控制台应用程序,但不清楚这是否是正确的使用方法。 Linux 有更好的方法吗?
计划是将我的控制台应用 运行 放在 Linux 容器中。我希望应用程序能够终止,从而导致容器终止,这样基础设施就可以启动一个新的容器。但是,我才刚刚开始使用 Docker(而且我的 Linux 技能很生疏)。所以我在这里不知所措...
我可能不得不启动一个小样本并进行修补,但我希望在这里提出问题,以防有人能提供更快的答案。
TIA
没有什么比尝试一下更好的了!
using System;
namespace testing
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
System.Environment.FailFast("oh shoot");
Console.WriteLine("Bye!");
}
}
}
给我
/tmp/testing$ dotnet run
Hello World!
FailFast:
oh shoot
at System.Environment.FailFast(System.String, System.Exception)
at System.Environment.FailFast(System.String)
at testing.Program.Main(System.String[])
我在 /var/log
的任何内容中都没有看到任何其他日志消息。所以我猜它只是快速存在并将日志转储到控制台。