ASP.NET大师:使用会话变量有哪些优点/缺点?

前端之家收集整理的这篇文章主要介绍了ASP.NET大师:使用会话变量有哪些优点/缺点?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经对这个问题进行了搜索,并且一遍又一遍地发现了相同的数据 – 对三种不同类型的会话的审查。 (InProc,sql,StateServer)但是,我的问题是不同的。

具体来说,首先使用内置.NET会话的优点和缺点是什么?

这就是为什么我问:一个.NET开发人员告诉我,不要使用内置的Microsoft Session。一点也不。甚至不创建一个自定义会话状态提供程序。他的理由是这样的 – 如果您在IIS中打开了会话,它会使您的所有请求同步发生。他说启用会话降低了Web服务器的性能

他的解决方案是自己创建一个会话 – 一个类,用于存储所有需要的值,并将其序列化到数据库中。他建议您存储唯一的ID以将其引用到cookie或querystring变量中。在我们的环境中,使用数据库来存储会话是一个要求,因为我们所有的页面都是在网络场上,而我们使用Oracle–所以我同意这一点。

使用内置的Session会降低性能,而不是自制会话?这有什么安全问题吗?

所以总结一下,有哪些优点/缺点?

感谢所有的人回答!

解决方法

首先,浏览器只会在给定的时间向给定的主机名发出两个请求。在大多数情况下,这些请求用于静态内容(JS文件,CSS等)。所以,对动态内容的请求的序列化并不是人们想到的问题。另外,我认为这可能会与经典的ASP混淆,使用Session的页面是绝对序列化的,我不认为这是ASP.Net的情况。

使用ASP.Net会话状态(sql模式,状态服务器或自定义),您具有标准的实现,并且在整个应用程序中都是一致的。如果你不需要共享会话信息,这是你最好的选择。如果您需要与其他应用程序环境(PHP,swing / java,classic asp等)共享信息,可能值得考虑。

另一个优势/缺点是,开发人员很多关注性能方面的内置方法,即使使用不同的提供商也可以设计自己的滚动。

猜你在找的asp.Net相关文章