微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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等)共享信息,可能值得考虑。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐