从用户体验的角度来看,会话状态和查询字符串有什么区别?

时间:2015-03-29 07:29:22

标签: asp.net webforms user-experience

如果我必须在同一个应用程序中的两个Web表单之间发送特定值 这个值非常小,所以我有两个选择,使用查询字符串或会话状态。

我知道技术差异但是 我想知道从用户体验的角度来看会话状态和查询字符串之间的区别是什么?

用户在使用"会话状态"时可以做什么/是什么?或"查询字符串" ?

4 个答案:

答案 0 :(得分:1)

  

如果您需要下一页上的值,则取决于具体情况   不想在任何其他页面上使用它们,只有您使用查询   字符串,重量非常轻,如果您需要该信息   然后将其他一些页面存储到会话中,因为这样   通过网站可以获得价值。

如果仅在2 WebForm之间,则应使用Query String

查询字符串:

1.Request.QueryString是查询字符串,表示在url之后传入的值。

2。 他很好,因为它只作为请求的一部分而不是RAM(或其他会话状态机制),但也使用户可以清楚地识别潜在的敏感数据。虽然您的应用程序应该在显示数据时检查授权,但它仍然会使数字显而易见。您可以加密有助于的值。一般来说,我经常使用这种方法。

<强>会话

1.Session是存储在服务器上的内存(通常),只能在C#或服务器端代码中访问。

  1. 如果要在多个页面上频繁使用该值,但在高使用率系统中往往会加载服务器RAM(或其他会话状态持有者),则可以。通常,这不是将值传递到下一页的首选方法。

答案 1 :(得分:0)

如果我们使用视图状态而不是View状态保持每页的值,如果我们刷新页面视图状态将是明确的。

但另一方面,如果我们使用会话而不是会话,则保留我们想要使用的所有页面的值。

答案 2 :(得分:0)

Request.QueryString()用于将信息从一个页面传递到另一个页面,这对最终用户在地址URL中完全可见。

会话存储在服务器的内存中(通常),您只能访问C#或服务器端代码。

答案 3 :(得分:-1)

好吧,在搜索之后,似乎“会话状态”有两个用户体验问题:

  • 后退按钮(如果按下数据将会丢失)
  • 打开多个分接头(所有接口将在同一会话状态下更新和修改)

在查询字符串中,这两个问题不存在。