Asp.net 通过会话在web页面对象之间发送,或者发送ID并向sql server进行新查询,哪种方法更有效?

Asp.net 通过会话在web页面对象之间发送,或者发送ID并向sql server进行新查询,哪种方法更有效?,asp.net,sql-server,session,Asp.net,Sql Server,Session,我有一个网页,在那里我收集信息并创建一个对象和两个集合。详细信息保存在sql server上的表中。为了创建报告,必须将此信息传输到另一个网页。如果将对象和集合作为会话对象发送,或者只发送ID(在本例中,一个ID足以用于所有三个对象),然后从新网页向sql server进行三次查询以检索信息,效率会更高。谢谢,Dov如果您的数据不敏感,我会使用Session来提高性能(您已经有了所需的数据)。否则,我将传递che id并使用查询。如果您的数据不敏感,我将使用Session来提高性能(您已经拥有了

我有一个网页,在那里我收集信息并创建一个对象和两个集合。详细信息保存在sql server上的表中。为了创建报告,必须将此信息传输到另一个网页。如果将对象和集合作为会话对象发送,或者只发送ID(在本例中,一个ID足以用于所有三个对象),然后从新网页向sql server进行三次查询以检索信息,效率会更高。谢谢,Dov

如果您的数据不敏感,我会使用Session来提高性能(您已经有了所需的数据)。否则,我将传递che id并使用查询。

如果您的数据不敏感,我将使用Session来提高性能(您已经拥有了所需的数据)。否则,我会传递che id并使用查询。

我认为使用会话会更好,特别是如果查询数据库很昂贵,例如如果另一台服务器上的数据库很大,或者查询包含很多连接。

但请注意,您必须小心会话变量,如果不需要,请清除它们,以保持网站服务器内存新鲜。

我认为使用会话会更好,特别是如果查询数据库的成本很高,例如如果另一台服务器上的数据库或查询很大,并且包含大量连接。
但请注意,您必须小心会话变量,如果不需要,请清除它们,以保持网站服务器内存新鲜。

使用会话将提高性能并减少服务器负载,但它会对您的可伸缩性产生不利影响。您可以通过尽可能短的存储空间来减少这种影响,通常在我使用
RPG
时会减少重定向

你需要关注你的瓶颈。你试图解决的问题是什么?您的数据库是否已达到其资源限制(因此请使用会话)?或者您在Web服务器资源耗尽的服务器上遇到负载(使用重新查询)?

使用会话将提高性能并减少服务器上的负载,但会对您的可伸缩性产生不利影响。您可以通过尽可能短的存储空间来减少这种影响,通常在我使用
RPG
时会减少重定向

你需要关注你的瓶颈。你试图解决的问题是什么?您的数据库是否已达到其资源限制(因此请使用会话)?或者您在Web服务器资源不足的服务器上遇到负载(使用重新查询)?

我会使用。如果服务器处于严重(内存)压力下,则对象将被释放,您只需重新构建对象。如果没有,您可以从缓存中重用它。如果在一定时间内不使用,它将自动清理。因此,它将防止用旧的会话级对象填满内存

更详细的信息:

  • 使用ID将对象放入缓存
  • 将ID传递到另一页
  • 在其他页面中,检查缓存,如果未找到,则从sql重新生成/检索对象
我会用这个。如果服务器处于严重(内存)压力下,则对象将被释放,您只需重新构建对象。如果没有,您可以从缓存中重用它。如果在一定时间内不使用,它将自动清理。因此,它将防止用旧的会话级对象填满内存

更详细的信息:

  • 使用ID将对象放入缓存
  • 将ID传递到另一页
  • 在其他页面中,检查缓存,如果未找到,则从sql重新生成/检索对象

如果您使用会话,您将能够导航到下一页并生成报告,但信息不会存储以供将来使用。如果您要存储生成的报告以供将来使用,则需要查询数据库以获取已保存的报告。因此,我的观点是,如果您需要查询数据库,为什么不保存信息首先在数据库中,然后使用sql查询相应地生成报告


您可以选择是要临时报告还是要保存信息以备将来使用

如果您使用会话,您将能够导航到下一页并生成报告,但信息将不会存储以供将来使用。如果您要存储生成的报告以备将来使用,则需要查询数据库中的因此,我的观点是,如果您需要查询数据库一次,为什么不先将信息保存在数据库中,然后使用sql查询生成相应的报告


您可以选择是要临时报告还是要保存信息以备将来使用

如果您的意思是时间敏感,那么我同意您的看法,因为数据将返回到会话或数据库中。非常感谢。就敏感度而言,会话保存在服务器上,因此不应防止安全问题?再次感谢,DovI的意思是我不信任会话的安全性。如果你的意思是时间敏感,那么我同意你的看法,因为数据将返回,无论是在会话中还是在数据库中。非常感谢。就敏感度而言,会话保存在服务器上,因此不应防止安全问题?再次感谢你,DovI的意思是我不相信session的安全性。感谢你提出的非常有用的想法!谢谢你提出的非常有用的想法!