如何在ASP.NET MVC网站上执行定期工作?
|
每天一次,我想要我的ASP.NET MVC4网站,可能在多台服务器上运行,向我发送一个报告.这似乎是一个很常见的事情想要做,但我有一个艰难的时刻提出了一个很好的方法来做到这一点. 尝试在服务器上运行定时器来执行此工作是有问题的,原因有两个.如果我有多个服务器,那么我会在所有的服务器上运行定时器(如果服务器关闭);我需要在他们之间进行协调,这很复杂.此外,尝试通过后台线程通过Entity Framework访问数据库时,会增加复杂性,我必须采用锁定策略来对定期后台线程和“前台”控制器线程之间的DbContext对象的构造/处理进行序列化. 另一个选择是在服务器上运行一个计时器,但要让定时器线程执行GET到一个魔术页面,生成和发送邮件.这解决了DbContext问题,因为数据库访问发生在正常的Controller操作中,并且与数据库的所有其他Controller访问序列化.但是我仍然遇到可能有多个计时器运行的问题,所以我需要一些智能控制器的操作来忽略冗余的报告请求. 有什么建议么?这种事情通常如何做? 解决方法Phil Haack在his blog post中很好地解释了你不应该从你的网络应用程序做这个任务.
您可以从Windows服务或甚至计划使用Windows Scheduler定期运行的控制台应用程序执行此任务. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-5 – 如何添加声明在ASP.NET身份
- asp.net-mvc – ASP.NET mvc 4控制器参数始终为空时发送jso
- asp.net – 如何禁用Web.Config中的目录浏览
- 在ASP.NET上启动维护流程的最佳实践是什么
- dependency-injection – ActionFilterAttribute ninject i
- asp.net 4.0 web表单路由 – 默认/通配符路由
- asp.net-mvc – Razor模板,views和angular.js
- ASP.net MVC – 在区域之间共享部分
- asp.net – Azure服务架构与Docker一样吗?
- asp.net – asp:repeater – 部分更改时的标头
- 在ASP.NET中创建一个适用于黑莓,Windows Mobile和
- asp.net – 允许 – (破折号)在正则表达式中
- asp.net-mvc-2 – JavaScriptSerializer没有正确
- asp.net-mvc-3 – 剃刀引擎 – 如何根据不同的条
- asp.net-mvc-4 – MVC 4 RC – Aspnet_regsql.ex
- asp.net – 访问.NET中的Web服务中的查询字符串(
- 如何从ASP.NET MVC中的自定义帮助程序中访问当前
- asp.net-mvc-2 – ASP.NET-MVC2预览1:有任何重大
- 析构函数何时在ASP.NET中调用C#类?
- asp.net-mvc – ASP.NET MVC跟踪问题
