我们正在使用ASP.Net图表工具(版本3.5),并希望将图表图像存储在SQL Server会话中。以下是web.config中的部分:
<add key="ChartImageHandler" value="storage=session;timeout=20;" />我们在web.config中的会话设置如下所示:
<sessionState mode="SQLServer" sqlConnectionString="Data Source={sql server name}; Integrated Security=SSPI;" cookieless="false" timeout="30"/>第一次加载页面时,图表图像工作正常。然而,在那之后,它每次都无法加载。我们得到红色的X/image not found graphic。图像看起来似乎没有正确保存到会话中,但是更改"timeout“值没有任何帮助。
文件存储选项版本不起作用:
<add key="ChartImageHandler" value="Storage=file;Timeout=800;Dir=C:\Directory\TempChartFiles;"/>但是,我们更倾向于使用SQL Server会话选项。有没有办法让SQL Server会话选项与ASP.Net图表工具一起使用?
发布于 2011-06-07 23:21:26
首先,我不确定您在哪里设置密钥。它是在里面,还是让你把它设置在更具体的地方。接下来,如何设置要呈现的代码。
据我所知,您期望某个神奇的ASP.NET仙女来存储值并自动将其从session中取出,这不是session的工作方式。
此外,我不确定业务问题是什么,所以我甚至不确定会话是否是最好的存储位置。ASP.NET有一组很棒的缓存选项,这些选项可以更针对用户,也可以更针对应用程序,具体取决于您的需求。它也不是自动的,但通常比使用Session来存储东西更好。
在我看来,这里的问题是您缺少一些实际处理会话存储的代码,而不是SQL Server问题。我会指出,在这种情况下,SQL Server可能不是一个好的会话选项,特别是当您最终使用较大的图形时。与其他缓存解决方案相比,您可以大大降低可伸缩性。换句话说,我不相信会话在任何情况下都是一个好的选择,但对于SQL Server可能会更糟。
将SQL Server用于会话状态的主要原因之一是:
如果您有更多的代码,并且可以跟进更具体的业务原因,那么您可能会得到关于如何解决问题的更全面的答案。
https://stackoverflow.com/questions/6267314
复制相似问题