1

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

这里有几个关于同一主题的问题,但无法从任何一个那里得到解决方案,因此最终在这里发布了另一个问题。

我的目标是让这个工作。

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

请问有什么建议吗?

4

2 回答 2

3

缓存位于 ASP.NET 工作进程中,您不能直接从控制台应用程序访问它。HttpContext.Currentnull因为您不在控制台应用程序中使用 aspx.net 工作进程。

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

于 2012-09-19T12:38:51.340 回答
0

您不能在控制台应用程序中使用 HttpContext。正如@matrxRapture 所述,您可以通过使用全局变量来解决此问题,如果您正在寻找应用程序的当前目录路径,您可以使用Assembly.GetExecutingAssembly().Location

于 2017-01-04T13:01:30.110 回答