gpt4 book ai didi

c# - 窗口服务和 C# 设计模式问题

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

我最近接管了一个旧的 Windows 服务,它一直在系统事件日志中写入以下事件:

Event ID: 7034
Description: The MyService service terminated unexpectedly. It has done this X time(s).



我正在查看源代码并在服务类库中找到以下代码模式:
(它已被简化以保护无辜者..)
public static void StartService()
{
//do some stuff...
ManageCycle();
}

public static void ManageCycle()
{
//do some stuff
ManageCycle();
}

这个编码模式叫什么,它是否可能导致 Windows 服务关闭(即内存泄漏)?

最佳答案

这看起来像堆栈溢出异常模式。艾伦是正确的。使用 while 循环:

公共(public)静态无效StartService()
{
//做一些事情...
isRunning = true;
管理循环();
}

公共(public)静态无效管理循环()
{
而(正在运行)
{
//做一些事情并包装异常处理
}
}

公共(public)静态无效停止服务()
{
isRunning=假;
}

关于c# - 窗口服务和 C# 设计模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1441122/

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