微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我在哪里可以find在.NET中开发的Windows服务的生命周期的详细视图?

我在哪里可以find在.NET中开发的Windows服务的生命周期的详细视图? 我这样提出我的问题,因为我不确定是否可以在这里发布足够详细的描述,但如果您认为可以请随时尝试。

一个不正确答案的例子是从MSDN页面粘贴描述: Windows服务应用程序简介 。 这还不够详细。 例如,服务是否卸载内存不足,因此调用dispose方法? 或者只是通过OnStop方法停止,只有通过调用OnStart方法才能重新启动而不需要初始化?

由于我的问题已被回答,并同时提出了另一个问题,下面是一些对象生命周期的参考(我现在知道这也适用于服务)供未来的访问者使用这个问题:

StackOverflow – 什么是.NET对象生命周期?

当Windows能够find它时,如何findMercurial可执行文件的完整path?

XP和Windows 7/8上的DateTime.Parse不同

是否有可用于可移植类库的System.Environment.Machinename的等价物?

在WCF和Windows服务中下载大文件

有没有办法来检查用户是否有特定的权利?

tutorials.beginners.co.uk/read/id/188

developerfusion.com/article/1047/new-objectoriented-capabilities-in-vbnet/3/

请享用!

OpenCVSharp:无法加载DLL“OpenCvSharpExtern”

如何用C#.NET编写程序,在Linux / Wine / Mono上运行它们?

我怎样才能让一个ListView的列自动resize编程?

Microsoft.CSharp库中的BadImageFormatexception

是否有附加到标准输出的缓冲区大小?

Windows服务实际上是一个应用程序,它提供了一些额外的方法供服务管理器控制,即Stop() , Start() , Pause() , Continue() (或等价物)。

调用Start时,创建应用程序域,初始化服务类并调用Start()方法。 停止时,应用程序域从内存中卸载之前调用Stop()方法

你可以看到这与任务管理器。 在调用启动之前,应用程序不在内存中,并且在停止完成后消失。

因此,我相信您的生命周期问题的答案在于标准.NET应用程序的生命周期,无论是命令行,winforms还是asp.net。

我还建议,如果你依赖于dispose方法,那么你的设计中可能存在一个缺陷,在大多数情况下,dispose清理的资源应该比服务主机调用你的组件更频繁地处理处置。 大多数服务都是在某个地方响应系统事件的机制,在这个事件来自非托管资源的情况下,您可能只想获取资源OnStart并将其释放给OnStop,在事件不是源于非托管空间,那么你可能想要抓住和释放非托管资源在更多的JustInTime类型的方式,只要你需要他们抓住他们作为资源,并释放他们(通过他们的dispose方法)尽快。 为了进一步阅读检查何时以及如何使用配置和.Net配置模式

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐