Multithreading 分层体系结构中的Windows服务层
我有一个asp.net项目,它是使用分层体系结构(表示层、业务层和数据访问层)创建的。现在我需要向项目中添加一个windows服务,该服务将执行后台处理。用户可以从站点注销,但服务将在后台运行。完成这项任务可能需要几个小时。我有以下问题Multithreading 分层体系结构中的Windows服务层,multithreading,windows-services,3-tier,Multithreading,Windows Services,3 Tier,我有一个asp.net项目,它是使用分层体系结构(表示层、业务层和数据访问层)创建的。现在我需要向项目中添加一个windows服务,该服务将执行后台处理。用户可以从站点注销,但服务将在后台运行。完成这项任务可能需要几个小时。我有以下问题 我可以将此windows服务作为单独的项目包含在asp.net web应用程序中吗?如果是,应在何处添加?此windows服务可以从业务层调用。该服务将与数据库交互。那么我可以将其添加为单独的服务层吗 正如我所说的,windows服务将在后台工作,因此我可以在w
谢谢。就我个人而言,我会将这项服务放在它自己的解决方案中。我会在web解决方案中设置一个客户端。这主要是因为部署将完全不同,并有助于保持服务API不受损坏 关于服务将要做什么,你说得还不够,但我希望如此 当用户登录时,将向服务发送通知。登录(用户Id) 服务中的OnStart应该启动侦听器线程 然后,当服务“听到”登录(用户id)通知时,它会执行如下操作
if (LogInTaskThread == null)
{
LoginTaskThread = new Task("loginTask");
}
无论如何,这类事情…如果Windows服务在后台运行,并且不提供来自外部调用方的任何请求,那么您可以将Windows服务应用程序视为一种无UI的表示层。它应该放在一个单独的项目中,并像任何应用程序一样与业务和数据层通信 但是,如果您的Windows服务正在为来自外部程序的调用提供服务,则可能需要将您的Windows服务视为服务层 您可能希望从这里获得更清晰的图层图片