我有一个mvc3网络应用程序,我需要运行计划任务。
我的托管公司(discountasp.net)允许我运行计划任务,但如果他们受密码保护,我需要锁定目录(使用web.config文件)
这对于Web表单应用程序来说很好,因为我可以将所有这些页面移动到特定的(锁定的)目录中。但对于一个MVC应用程序,页面没有按目录划分,我不知道如何做到这一点。
我不知道是否有其他人遇到过此问题,可能是最佳选择。
答案 0 :(得分:0)
这可能是一种过度简化,但你不能只创建一个控制器/动作,按照计划执行你需要做的事情,在其上放置一个授权属性,导致该动作需要用户名/密码和从那里去?由于我不使用discountasp.net,我不清楚你如何设置一个预定的任务,但如果它只是在预定的时间点击一个URL,那么你应该好好去。
否则,如果它没有访问URL但实际上是从服务器端调用文件(而不是通过HTTP),则可以创建一个文件夹(想想你的内容目录 - 可能称之为ScheduledTasks),在那里放置一些代码(如果您愿意,甚至是webforms页面),在web.config中放置适当的安全项目以要求输入密码,最后,将文件的路径添加到Routes.IgnoreRoute
集合。