我有一个Windows服务,它取一堆文件的名称并对它们进行操作(zip/unzip,更新db等).根据发送到服务的文件的大小和数量,操作可能需要一些时间.
(1)向该服务发送请求的模块将等待处理文件.我想知道是否有一种方法可以在服务中提供一个回调,它将在完成处理文件时通知调用模块.请注意,多个模块可以一次调用服务来处理文件,因此服务需要提供某种TaskId我猜.
(2)如果调用了一个服务方法并且正在运行另一个对同一服务的调用,那么该调用将如何处理(我认为只有一个与该服务相关联的线程).我已经看到,当服务在处理方法时花费时间时,与服务相关联的线程开始增加.