【发布时间】:2014-02-05 12:46:43
【问题描述】:
我有一个使用分层架构(演示、业务和数据访问层)创建的 asp.net 项目。现在我需要向项目中添加一个 Windows 服务,该服务将执行后台进程。用户可以从站点注销,但该服务将在后台运行。完成任务可能需要几个小时。我有以下问题。
我能否将此 Windows 服务作为一个单独的项目包含在我的 asp.net Web 应用程序中?如果是这样,应该在哪里添加?这个windows服务可以从业务层调用。该服务将与数据库交互。那么我可以将它添加为单独的服务层吗?
正如我所说,Windows 服务将在后台运行,因此我可以在 Windows 服务的“OnStart”事件中创建线程来执行操作。我对么?我知道在“OnStart”事件中编写长时间运行的进程不是一个好习惯。这就是我使用线程的原因。但是,如果另一个用户登录到该网站,该服务将再次调用并创建新的工作线程。这种方法是否存在性能问题?
谢谢。
【问题讨论】:
标签: multithreading windows-services 3-tier