从Console Application设置HttpContext.Current.Application

时间:2012-08-31 10:39:07

标签: asp.net console-application

我正在创建一个控制台应用程序,它需要调用严重依赖于HttpContext的方法。我可以模拟基本的HttpContext以及身份验证,但是我无法设置HttpContext.Current.Application。是否有可能在其中设置数据?

这里有很多关于同一主题的问题,但无法从两者中得到解决方案,因此最终在这里发布了另一个。

我的目标是让这个工作。

HttpContext.Current.Application("PageDefinitionCache") = pageDefinitions

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

缓存位于ASP.NET辅助进程内部,您无法直接从控制台应用程序访问它。 HttpContext.Currentnull,因为您未在控制台应用程序中使用aspx.net工作进程。

考虑在控制台应用程序中声明一个全局变量来模拟HttpContext.Current.Application的行为。

答案 1 :(得分:0)

您无法在控制台应用程序中使用HttpContext。 正如@matrxRapture所提到的,您可以使用全局变量解决此问题,如果您要查找应用程序的当前目录路径,可以使用 Assembly.GetExecutingAssembly()。位置