Asp.net mvc 4 基于日期获取要在所有页面上运行的代码
我正在尝试创建一个包含两个主要部分的程序:项目和审计 一个项目将有一个开始日期和一个数字,告诉它离完成还有多少天(它们都是预设的) 我需要创建一个审计,比如在项目完成前一天 到目前为止没什么大不了的 我所看到并正在努力解决的问题是: 我怎样才能有效地维护它?我正在使用MVC4,并尝试了动作过滤器。我在每个页面上都运行了代码,以覆盖访问站点的任何自定义URL。然而,这似乎大大减缓了速度。以下是我目前掌握的情况:Asp.net mvc 4 基于日期获取要在所有页面上运行的代码,asp.net-mvc-4,actionfilterattribute,timed-events,Asp.net Mvc 4,Actionfilterattribute,Timed Events,我正在尝试创建一个包含两个主要部分的程序:项目和审计 一个项目将有一个开始日期和一个数字,告诉它离完成还有多少天(它们都是预设的) 我需要创建一个审计,比如在项目完成前一天 到目前为止没什么大不了的 我所看到并正在努力解决的问题是: 我怎样才能有效地维护它?我正在使用MVC4,并尝试了动作过滤器。我在每个页面上都运行了代码,以覆盖访问站点的任何自定义URL。然而,这似乎大大减缓了速度。以下是我目前掌握的情况: public class CreateAuditsController : Actio
public class CreateAuditsController : ActionFilterAttribute
{
private QAAPPEntities db = new QAAPPEntities();
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
CreateAuditsFromProjects();
base.OnActionExecuted(filterContext);
}
public void CreateAuditsFromProjects()
{
// Generate list of Research Projects
List<ResearchProject> allResearchProjects = db.ResearchProjects.Include(a => a.ResearchProjectStatus).ToList();
// Cycle through those to see which ones need audits created
for (int i = 0; i < allResearchProjects.Count; i++)
{
// Get current looped project for further use
ResearchProject currentLoopedProject = allResearchProjects[i];
if (currentLoopedProject.Description == "Some Description")
{
Audit auditToAdd = new Audit();
auditToAdd.ResearchProjectID = currentLoopedProject.ResearchProjectID;
auditToAdd.Name = "Some Name";
auditToAdd.AssignedQAID = 1;
auditToAdd.CreatedDate = DateTime.Now;
auditToAdd.AuditStatusID = 1;
auditToAdd.AuditTypeID = 1;
db.Audits.Add(auditToAdd);
db.SaveChanges();
}
}
db.SaveChanges();
// Create audits
}
}
公共类CreateAuditsController:ActionFilterAttribute
{
私有QaaAppenties db=新QaaAppenties();
公共覆盖无效OnActionExecuted(ActionExecutedContext筛选器上下文)
{
CreateAuditsFromProjects();
base.OnActionExecuted(filterContext);
}
public void CreateAuditsFromProjects()
{
//生成研究项目列表
列出所有ResearchProjects=db.ResearchProjects.Include(a=>a.ResearchProjectStatus).ToList();
//循环检查这些项目,查看哪些项目需要创建审核
for(int i=0;i
感谢您的帮助。退房。它可以让您计划在以后采取的行动。因此,当您创建一个项目时,您将使用Revalee客户端计划在审计结束前一天创建一个审计。简单的解决方案是,创建一个数据库,逻辑上检查剩余一天的所有项目,并在审计表中为每个项目添加一条记录 多谢各位