.net 在Windows服务中承载的WCF服务操作中使用异步任务

.net 在Windows服务中承载的WCF服务操作中使用异步任务,.net,wcf,asynchronous,windows-services,.net,Wcf,Asynchronous,Windows Services,我被告知,您不应该在IIS中托管的WCF服务中执行异步操作,因为在服务操作返回后,IIS可以自由清理任何其他关联线程,无论是否已完成 但是,windows服务中承载的WCF服务又如何呢。我是否可以在服务操作中启动异步任务,然后满怀信心地返回到客户机,让线程能够完成 很难找到一个直截了当的答案。1)IIS确实允许您将应用程序池的默认空闲超时更改为0,这意味着它通常不会超时。对于具有自定义服务工厂的WCF工作流应用程序来说,这是一种熟悉的模式。2) 可以,您可以使用基于任务的WCF方法,也可以让服务

我被告知,您不应该在IIS中托管的WCF服务中执行异步操作,因为在服务操作返回后,IIS可以自由清理任何其他关联线程,无论是否已完成

但是,windows服务中承载的WCF服务又如何呢。我是否可以在服务操作中启动异步任务,然后满怀信心地返回到客户机,让线程能够完成


很难找到一个直截了当的答案。

1)IIS确实允许您将应用程序池的默认空闲超时更改为0,这意味着它通常不会超时。对于具有自定义服务工厂的WCF工作流应用程序来说,这是一种熟悉的模式。2) 可以,您可以使用基于任务的WCF方法,也可以让服务器在以后调用客户端。客户需要公开端点或使用双向连接,具体取决于您的任务需要多长时间?>1分钟后服务器应该挂断,稍后再回电话。我不确定这是否适用于我手头的情况,因为我的设计是基于net.pipes上的本地服务。但我非常感谢您的回复,因为这些信息将来可能会有所帮助。我的第二点涉及到您的第二个问题,无论您是否使用
net.pipe