我的ASP.NET MVC应用程序需要在启动时和后台定期运行一组任务。我已将每项任务实施为控制器操作,并列出数据库中操作的应用程序相对路径。我实现了一个TaskRunner进程,它从数据库获取URL并使用WebRequest.Create以固定的时间间隔请求每个URL,但是这会抛出UriFormatException
。我不能使用this answer或任何代码从HttpContext.Current.Request
中获取值,而不会收到HttpException
,并显示消息“请求在此上下文中不可用”。请求对象不可用,因为我的代码使用System.Threading.Timer
进行后台处理,建议使用here。这里是我的问题:如何在ASP.NET MVC应用程序的后台请求本地页面?
- 是否真的没有办法在ASP.NET Web应用程序内进行本地Web请求?
- 即使在ASP.NET中使用静态依赖关系,是否真的没有办法动态确定Web应用程序的根路径?
- 我试图避免将应用程序的根路径存储在数据库中(正如FogBugz对其“维护路径”所做的那样),但这是最佳选择吗?
谢谢戴夫。我没有阅读链接另一面的文章,所以请原谅我,如果这是离开,但我不能构建一个URI,因为我不知道该应用程序的基本URI。我错过了什么吗? – flipdoubt 2010-05-27 15:22:30