gpt4 book ai didi

c# - 获取 session 值 - ASP.NET Web 处理程序文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:19:55 24 4
gpt4 key购买 nike

我无法在 ASHX 文件中获取 session 值。
我搜索了here这样我就可以解决我的问题。

但我仍然无法获取 session 值。请让我得到你的建议。

[ASPX 设计文件]

...
<form id="form1" runat="server">
<div>
<iframe runat="server" id="iframepdf" height="600" width="800" src="./PDFViewer.ashx"></iframe>
</div>
</form>
...

[ASPX 代码隐藏]

...
namespace WebApplication1
{
public partial class NameCard : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Session["PDFFileName"] = @"D:\Test.pdf";
}
}
}

如您所见,我的代码隐藏在文件中,
我为 session 对象设置了一些值。
然后,我在 ashx 文件下面写下。

[ASHX 代码隐藏]

...
namespace WebApplication1
{
public class PDFViewer : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Session["StackOverflow"] = "overflowing"; // This one give me output value as "overflowing"
if (context.Session["PDFFileName"] != null) { // My problem is this line, It always say null value ...
context.Response.ContentType = "Application/pdf";
var PDFFileName = context.Session["PDFFileName"].ToString();
context.Response.WriteFile(PDFFileName);
context.Response.End();
context.Session["PDFFileName"] = string.Empty;
}

}

public bool IsReusable
{
get
{
return false;
}
}
}
}

最佳答案

通过阅读您代码中的注释,我认为您获得了 context.Session["StackOverflow"] 而不是 ["PDFFileName"] 值?那是对的吗?在分配 session 值的页面和使用它们的处理程序中放置断点并运行调试器。

也许您拼错了键?请记住,键是区分大小写的。

关于c# - 获取 session 值 - ASP.NET Web 处理程序文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14377049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com