C# ABCpdf访问登录区域内的页面

C# ABCpdf访问登录区域内的页面,c#,asp.net,abcpdf,C#,Asp.net,Abcpdf,在我的网站中,我使用HTML动态生成pdf。 我有两个条件: 用户已登录,显示在第1页,并以pdf格式绘制在第1页 用户未登录,显示第二页,并以pdf格式绘制第二页 我的代码如下: string url = HttpContext.Current.Request.Url.AbsoluteUri; Doc theDoc = new Doc(); theDoc.AddImageUrl(url); theDoc.Save(HttpContext.Cur

在我的网站中,我使用HTML动态生成pdf。 我有两个条件:

  • 用户已登录,显示在第1页,并以pdf格式绘制在第1页
  • 用户未登录,显示第二页,并以pdf格式绘制第二页
  • 我的代码如下:

     string url = HttpContext.Current.Request.Url.AbsoluteUri;
            Doc theDoc = new Doc();
            theDoc.AddImageUrl(url);
            theDoc.Save(HttpContext.Current.Server.MapPath("~/media/pdf/1212.pdf"));
            theDoc.Clear();
    
    现在的问题是这样的,当用户登录时,我可以看到第一页,但当绘制PDF时,它包含未登录页(第二页)

    我正在使用inproc会话模式存储我的登录详细信息。据我所知,即使用户已登录,当执行此代码时,服务器返回not logged in页面,获取HTML以呈现PDF的请求也不会在会话中进行,而是创建一个新的会话


    有人能给我一些线索吗?

    原因可能是ABCPdf在呈现HTML时的工作方式是,不是用户访问要呈现的页面,而是服务器和服务器不会有用户登录会话,它将访问页面,就像您在服务器上的浏览器中键入URL一样。因此,当您通过ABCpdf访问页面时,它将表现为用户未登录

    我过去克服这个问题的方法是将加密的查询字符串pram传递给页面,并在PDF呈现页面上检查该字符串,然后根据该pram值更改显示的结果