我正在开发一个由Web应用程序组成的项目,用户可以在其中开始生成不同类型文件的长时间过程。 用户无法下载文件,只能启动该过程,文件将位于服务器上,此过程可能需要几个小时。
我的想法是解决这个与Windows服务通信的MVC应用程序,这个服务启动文件生成过程。
我对此有些担忧。
根据您的经验,您认为这是解决问题的最佳方法吗?
沟通网络应用和Windows服务的最佳和最简单的方法是什么?这是一种单向沟通,网络服务。
关于Windows服务;服务应该完成所有流程吗?或者如果服务仅执行生成不同类型文件的控制台应用程序,则可能更好。
我非常感谢你的帮助。
答案 0 :(得分:1)
由于Web API可以在任何进程中自托管,并且Windows服务不是例外,我建议在同一Windows服务中托管HTTP API和长进程事物。
如果您使用最佳实践设计和实施此Windows服务,那么它应该是一个很好的解决方案,您应该考虑解决方案的部署是多么容易,因为您不再需要IIS。
答案 1 :(得分:1)
我会继续使用IIS。这是因为它的支持。一直使用Web webservice长时间托管长时间运行的后台服务而没有问题。唯一关心的是删除默认的应用程序回收。 当然,您的应用程序需要正确处理启动/停止事件。