c# - 什么更喜欢与 asp.net 网站集成的 Windows 服务或进程来编码文件?

标签 c# .net asp.net windows-services

我必须创建一个网站,用户将在其中上传文件,然后这些文件将在编码器 exe 的帮助下进行编码。我想知道我是否应该将文件编码逻辑与文件上传逻辑集成在一起,或者创建一个不同的 Windows 服务,它将在确定的时间间隔内访问数据库并对非编码文件进行编码?

提前致谢。

最佳答案

由于编码文件是一项“长时间运行的任务”,它不应该是 ASP.NET 本身的一部分……我强烈建议使用 Windows 服务……尤其是。如果您已经拥有数据库,则可以根据需要轻松扩展...

编辑 - 根据评论:

在 ASP.NET 中长时间运行的线程意味着:

  • 您用完了 IIS 资源(来自 IIS 线程池的线程)
  • 只要 IIS 愿意,它就可以回收(IIS 会在一些可配置的时间间隔内回收应用程序池,但也会在内存或 CPU 不足时回收)

Windows 服务具有无需用户交互登录即可运行的良好特性,因此您可以通过添加更多系统和安装 Windows 服务来扩展此类解决方案...另一种方法(基于任务调度程序)请参阅答案来自 David Piras

关于c# - 什么更喜欢与 asp.net 网站集成的 Windows 服务或进程来编码文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7412110/

相关文章:

c# - SqlConnection 问题,ASP.net C#

c# - Task.Delay 是如何工作的?

c# - .NET Core,未能生成 dotnet --info

c# - Task.Factory.FromAsync 相当于 HttpWebRequest 和请求流代码

c# - 在类函数中使用私有(private)变量或实际属性的值?

asp.net - 尝试访问 .asmx Web 服务上不存在的 Web 方法时如何抑制错误消息

c# - 字典是否可以将数组作为键?

c# - Javascript 警报写入呈现的 HTML 顶部

c# - 从 ASP.NET MVC 操作中删除样板

asp.net - CaSTLe Activerecord session 范围与事务范围和连接管理