gpt4 book ai didi

multithreading - Windows服务作为分层体系结构中的服务层

转载 作者:行者123 更新时间:2023-12-03 13:00:22 24 4
gpt4 key购买 nike

我有一个使用分层体系结构(演示,业务和数据访问层)创建的asp.net项目。现在,我需要向项目添加Windows服务,该服务将执行后台处理。用户可以从站点注销,但是该服务将在后台运行。完成任务可能需要几个小时。我有以下问题。

  • 我可以将此Windows服务作为单独的项目包含在asp.net Web应用程序中吗?如果是这样,应该在哪里添加? Windows服务可以从业务层调用。并且该服务将与数据库进行交互。我可以将其添加为单独的服务层吗?
  • 正如我所说的,Windows服务将在后台运行,因此我可以在Windows服务的'OnStart'事件中创建线程来进行操作。我对么?我知道在“OnStart”事件中编写长时间运行的过程不是一个好习惯。这就是为什么我使用线程。但是,如果另一个用户登录到该网站,该服务将再次调用并创建新的工作线程。这种方法是否存在性能问题?

  • 谢谢。

    最佳答案

    我个人将服务放在它自己的解决方案中。我会把一个客户放在网络解决方案中。主要是因为部署会有根本的不同,并有助于保持服务API不受损坏。

    您对服务将要做什么还没有说清楚,但我希望如此。

    用户登录时,将向该服务发送通知。登录名(user_Id)

    服务中的OnStart应该启动一个监听器线程

    然后,当服务“听到”登录(User_id)通知时,它会执行类似的操作

    if (LogInTaskThread == null)
    {
    LoginTaskThread = new Task("loginTask");
    }

    无论如何,那种事情...

    关于multithreading - Windows服务作为分层体系结构中的服务层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21164705/

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