我在调试我们网站中遇到的问题之一时遇到了麻烦。这就是问题。我有一个网页,其中包含员工的照片和与员工相关的信息。当用户登录我们的网站时,我们会在会话中存储员工的详细信息。我正在为员工照片设置图片网址,如下所示。
imgEEPhoto.ImageUrl = imgPhoto.aspx?Company=XXXX&Empno=YYYY.
在页面 imgPhoto.aspx 中,我正在检查该用户的会话是否处于活动状态。当我登录到有员工照片的页面时,有时照片不会显示。这是因为我正在检查 imgPhoto.aspx 页面中的会话是否处于活动状态。有时会话是活动的,有时会话是不活动的。看起来有一些函数将会话异步设置为空。我不知道如何跟踪该功能。所以我在想,在 imgPhoto.aspx 页面中,如果我可以获得到目前为止已执行的所有函数的列表,我可以跟踪正在重置会话的函数。有没有办法找到这个?
如果没有其他方法可以调试此问题,请告诉我。
编辑:
页面 imgPhoto.aspx 获取 company 和 empno 作为查询字符串参数。然后页面根据 company 和 empno 获取二进制数据,并使用 Response.BinaryWrite() 显示照片。会话检查位于此函数的开头。所以在调用这个函数之前的某个地方,在主页中的所有函数结束之后,会话就会超时。实际上我不确定它是否超时,因为我可以打印 sessionid。但我无法访问存储在会话中的变量。
如果我在函数内部打印调用堆栈,它会给出在该页面内执行的函数列表。它没有给出在该函数之前执行的所有函数。