在ASP.Net Web应用程序中运行后台任务并获得反馈的最佳方法?
|
我正在考虑以下方法,但不确定它是否是最好的出路: step1(服务器端):TaskMangaer类创建一个新线程并启动一个任务. 基本上,目的是建立一个框架来运行后台任务(约5分钟),并在Web UI上提供有关任务完成百分比的定期反馈. 有没有一个巧妙的方法围绕这个或任何现有的asp.net API有用吗? 编辑1#:我想用应用程序在进程中运行任务. 编辑2#:看起来堆栈溢出上的徽章实现也使用缓存来跟踪后台任务. http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/ 解决方法我认为将结果存储在缓存中的问题是ASP.NET可能会为了其他目的而清除缓存条目(即,如果它的内存不足,如果它的脾气暴躁等).如果在缓存中找不到缓存,则可以根据需要重新创建缓存中的内容,ASP.NET运行时可以随时转储缓存条目.徽章讨论中缓存的使用似乎根本不同,在这种情况下,任务是短暂的.缓存只是被用作hacky计时器来定期启动任务. 你能否确认这是一项需要5分钟的任务,并且整个时间都需要自己的线程?这本身就是一个性能问题,如果每个请求都需要自己的线程这么长时间,你将只能支持有限数量的此类请求.只有在可以接受的情况下,我才会让任务阵营长期存在. 如果可以将这些任务放在一个线程中,那么我只需继续将结果存储在全局字典中.字典的关键字将与客户端请求/ AJAX回调系列相关联.如果安全性非常重要,密钥应该包含用户ID. 如果你需要扩展到许多用户,那么我认为你需要将任务分解为异步步骤,我可能会使用数据库表来存储结果(再次按每个请求/用户键入). (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用jQuery.post将多个参数发布到MVC Contr
- ASP.NET Core 2.0 Razor vs Angular/React/etc.
- asp.net-mvc – MVC路由错误:约束条目’长度’
- asp.net-mvc – 窗口身份验证在MVC4中不起作用
- asp.net-mvc – MVC WebApi不使用AutofacWebApiDependencyR
- asp.net-mvc – 将表单提交为JSON(无AJAX)
- asp.net mvc路由id参数
- asp.net – 生成PDF,IE和HTTPS错误
- 为什么我不能在ASP.net MVC中使用服务器控件?
- asp.net-mvc – 是否可以在基于路由的MVC4中使用不同的布局
- asp.net – 你预编译你的网站,为什么不为什么不呢
- asp.net-mvc – 用于局部视图的ASP.NET MVC 3控制
- asp.net-mvc – 控制器操作无法从JSON读取Guid P
- asp.net-mvc – MVC ViewBag最佳实践
- asp.net – 如何将其他页面包含到aspx文件中
- 无法启动ASP.NET Development服务器,因为正在使用
- Asp.net mvc – 获取上传文件的完整文件名
- 使用SharpZipLib压缩打包多个内存中的文件
- asp.net-mvc – 如何添加到Azure会话Cookie Http
- asp.net – 如何冻结GridView标题?
