【发布时间】:2014-01-13 04:01:27
【问题描述】:
我有一个 Windows 服务来执行后台进程。此 Windows 服务将与 asp.net 网站交互。功能如下。
在我的网站上有 3 个操作。用户可以选择任务(假设有三个按钮)。然后它会调用windows服务。其余操作由 Windows 服务执行。用户可以从网站注销,但它将在后台运行服务。一旦完成,它将在数据库中进行相应的更改。 我需要知道是否可以将任何设计模式应用于 Windows 服务(工厂、抽象工厂等)。我已经阅读了不同的设计模式,但我对如何将其应用于项目感到非常困惑。目前,我正在 Windows 服务的“OnStart”和“OnStop”事件中编写整个代码。请指导我。
谢谢。
【问题讨论】:
-
您至少需要通过在 OnStart 方法中创建一些正在运行的线程来开始。理想情况下,OnStart 方法需要立即完成。否则,当您启动该服务时,它将与“正在启动”消息一起挂起,直到超时。听起来您可能想查看一些基本的服务教程并发布您遇到的具体问题。 This 是定时器的基本用法。
-
非常感谢您的回复。这真的很有用。目前我正在创建多个服务实例来处理登录到网站的多个用户。现在我认为不是创建多个服务实例,我可以为另一个用户的请求创建一个新线程..rt?(一个服务和多个线程)我还可以限制要创建的新线程的数量。这是一个正确的方法吗?
-
那么设计模式呢?我的服务逻辑包含一些数据库操作和一些带有只读数组的静态类。那里的设计模式有什么特定的作用吗?我对它的用法有点困惑。--> 谢谢。
标签: design-patterns windows-services