繁体   English   中英

如何在asp.net中创建永久运行的服务?

[英]How do i make a forever running service in asp.net?

从我的另一个问题,我了解到asp.net杀死了我的主题,因为“它感觉就像它”。 这些线程是我的守护进程,可以处理缩略图生成,注册电子邮件和其他事情。

有人告诉我使用'Windows服务',但我所知道的,它是你在启动时运行的机器上安装的应用程序。 使用它有几个问题,如果这就是他的意思。 我最后一次尝试服务我记得它很难,我只是把应用程序放在启动文件中。 反正我不在WINDOWS上。 我在linux上。

在一个单独的应用程序中拥有它的其他问题是我在asp.net中有很多代码需要复制,我不想这样做。 另一个是我有asp.net使用ManualResetEvent戳它的线程,所以我不需要锤击数据库并立即获得结果。 AFAIK我不知道有什么办法来戳另一个过程。

我该如何运行此代码? 用asp.net? 我不认为检查线程是否存在每个请求都是一个好主意。 我能做什么?

ASP.NET旨在遵循请求 - 响应模式。 它具有专门用于防止线程在请求​​之外运行的机制,例如杀死长时间运行的线程(它认为“已损坏”)。

您要求做的不是 ASP.NET的预期功能。 要在ASP.NET中执行您想要的操作, 您将在平台上进行战斗,而不是在平台上构建 这就是为什么你被告知编写另一个执行长期运行过程的应用程序的原因。 如果您使用的是Linux,则意味着编写一个可以托管您想要在后台连续运行的线程的守护程序,因为这是他们的目的。

您必须使用正确的工具来完成工作。

看一下这篇文章: 如何使用mono将.NET Windows服务应用程序迁移到Linux? 我希望它能让你朝着正确的方向前进:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM