我正在尝试访问查询字符串参数并将其保存到 Session 变量中。由于我正在研究的解决方案有几个基本布局,最简单的方法是将其添加到管道处理程序中。但是,我的代码失败了,因为 args.Context.Session 为空:
public class SaveQueryStringToSession : HttpRequestProcessor
{
public override void Process(HttpRequestArgs args)
{
Assert.ArgumentNotNull((object)args, "args");
string queryString = WebUtil.GetQueryString("parm1");
if (queryString.Length <= 0)
return;
args.Context.Session["parm1"] = queryString;
}
}
当此方法插入 HttpRequestBegin 或 HttpRequestEnd 管道时,会发生这种情况。很想知道为什么,以及是否有标准的解决方法或模式可以在这里使用。(是的,我将添加一个空检查。无需指出。)
我在 IIS 7.5(集成的 .Net 2.0)上运行 Sitecore Sitecore.NET 6.4.1(修订版 110720)
可能相关链接: