Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 有替代windows服务的吗?_.net_Windows Services - Fatal编程技术网

.net 有替代windows服务的吗?

.net 有替代windows服务的吗?,.net,windows-services,.net,Windows Services,我们有“胖”windows服务来执行大量操作,比如数据库插入/更新/删除,以及调用一些RESTfulWeb服务来更新外部系统。该服务每3分钟执行一次,真正的业务取决于该服务 有时服务会进入非响应模式,我们正在尝试修复该部分。但这个问题与这个问题无关 另一方面,我们正在考虑应用任何新技术或架构。(严格基于Microsoft) 此时,我想知道是否有windows服务的替代品?您可以编写一个可执行文件并使用windows调度程序。当您需要自主应用程序时,windows服务是一个很好的工具。另一种方法是

我们有“胖”windows服务来执行大量操作,比如数据库插入/更新/删除,以及调用一些RESTfulWeb服务来更新外部系统。该服务每3分钟执行一次,真正的业务取决于该服务

有时服务会进入非响应模式,我们正在尝试修复该部分。但这个问题与这个问题无关

另一方面,我们正在考虑应用任何新技术或架构。(严格基于Microsoft)


此时,我想知道是否有windows服务的替代品?

您可以编写一个可执行文件并使用windows调度程序。

当您需要自主应用程序时,windows服务是一个很好的工具。另一种方法是在Windows启动时启动常规应用程序。但除了一些安全项目之外,和服务并没有什么大的区别,这些项目对于应用程序的运行来说,用户必须登录到机器

您需要做的是使您的服务应用程序独立于流程。换句话说,让您的服务成为一个调度器,但让端点来处理实际任务。大多数人只是没有正确编写他们的服务。例如,我看到很多服务在启动时必须执行一些DB调用,等等。启动应该很简单—初始化服务,在单独的线程上进行初始化调用。另外,您提到您有一个每3分钟运行一次的服务。为什么不添加一个端口侦听器,并通过配置配置端口。在执行某些操作的应用程序中也是如此。然后,应用程序可以向服务端口发送一个调用,此时您的服务将知道还有工作要做,而不是不断地检查


有许多体系结构技术可以应用到您的windows服务中,以使其具有健壮性和响应性。应用它们,你就不必寻找替代品

有很多技术。。。问题是,你为什么要改变?这对你不起作用有什么原因吗?如果是,原因是什么


例如,您可以将您的应用程序编写为we Web服务,只需有一个定期调用Web服务的调度任务。您还可以将服务“放在云中”并使用Azure工作者角色。但所有这些东西都有选择它们的理由。。。不清楚您的需求是什么。

这取决于您的服务有多强大,业务有多大

您可以完全重新构建体系结构,将各种接触点推送到web服务中,然后实现类似BizTalk的功能来协调这些不同服务的调用


这显然需要大量投资,SQL Server支持BizTalk,BizTalk应用程序服务器,以及管理这项新技术的人员。

windows服务与在windows启动时启动的常规应用程序之间有很大区别。Windows服务在没有任何用户登录的情况下运行。常规应用程序要求用户先登录,然后才能运行。@ErikFunkenbusch,我忘了提到这一点,并修复了它。谢谢T.S.您能为不同的体系结构指南(最佳实践)提供一些链接吗对于windows服务?@StartingFromScratch可能是您在这里获得了一些想法,而我恰好为服务创建了多个设计,并且在响应方面从未遇到过问题。如果你的设计正确-你会很好地使用windows服务。还记得架构中的plag,它在win服务中非常有用