【发布时间】:2011-12-29 09:39:27
【问题描述】:
我是一名 .Net 开发人员,我知道 HTM5 本地存储是客户端存储技术。我想在服务器端获取本地存储数据。
为了从服务器端获取 cookie 值,我们在 ASP.NET 中有 Request.Cookie。有没有这样的解决方案可以直接在服务器端获取本地存储值?请指导我。我正在使用 .net 4.0 框架
谢谢, 吉布
【问题讨论】:
标签: javascript html c#-4.0 local-storage
我是一名 .Net 开发人员,我知道 HTM5 本地存储是客户端存储技术。我想在服务器端获取本地存储数据。
为了从服务器端获取 cookie 值,我们在 ASP.NET 中有 Request.Cookie。有没有这样的解决方案可以直接在服务器端获取本地存储值?请指导我。我正在使用 .net 4.0 框架
谢谢, 吉布
【问题讨论】:
标签: javascript html c#-4.0 local-storage
您需要使用标准 HTTP 技术将此信息从客户端传递到服务器。使用 javascript 你可以填写:
这一切都取决于您的应用程序的组织方式、存储的信息类型、它的数量、是否要重定向......但在所有情况下都应该使用 javascript 来完成,因为这是唯一的访问存储在 localStorage 中的数据的方法。
【讨论】:
没有。本地存储的全部意义在于它是本地的。它相对于 cookie 的优势之一是您可以在其中存储大量数据。 cookie 的优点之一是它们很小,因此将它们包含在对给定主机的每个 HTTP 请求中的开销很小。有两个优点是不兼容的,所以你不会希望它们在一个单一的技术中。
如果您想在服务器上获取数据,那么您需要让客户端显式发送(例如通过 Ajax)。
【讨论】:
这是一个范围广泛的问题。 (就像一段字符串的长度),但我会尽力帮助:
a) 从本地数据库中读取数据 -> 如果您的目标是同步数据库,请务必在此处包含某种日期或索引值...这是为了确保您按顺序发送所有事务/更新在您的数据库中。为此,您不仅必须将数据存储为带有信息的表,而且还必须将数据存储为包含更新发生时间和更新内容的事件的表。 (更改表)。这将有助于在服务器端检查所有内容是否同步,也意味着您不会将不需要的数据发送到服务器,并且可以保存在本地。 ((否则,如果您无法通过仅同步 waht 来节省自己的服务器数据库空间,那么本地存储的意义何在?)
b) 一个 HTTP 本地服务器,用于将数据发送到您的目标客户端服务器或数据库服务器等(但是您已经设置了您的基础架构)——我建议您使用 Ajax 和 JQuery 的语言和服务器的行业标准。如果您进行大量数据流传输,那么我建议您使用 Ajax 研究 RXjs 以构建一个 http 接口(从这个意义上讲,接口只是一种像 API 一样公开您的客户端并发布 http 调用的方法)
c) 一个事件循环来处理触发同步的频率和内容,这样您就不会过度破坏您的用户机器(您不想经常这样做,但也希望它有意义而不是“每个晚上”,每当您检测到触发 wifi 再次可用的事件时,用户可能会启用。) - 我建议使用 Apache Cordova 内置的本机 wifi 读取功能以及服务器设置的行业标准(例如用于 Node.JS 的 Express.js)。
【讨论】: