我正在做我的第一个 ASP.NET MVC 项目。 (事实上,根据记录,这是我的第一个制作网站)。
这是一个针对 HTML 5 的移动网页。
该页面查找一些“昂贵”的信息。首先,它使用 html 5 地理编码功能从客户的浏览器中获取经纬度。
我将该信息传递给控制器。该控制器使用 Google Maps API 填充城市和州(到位置模型中),然后在视图中使用它。
因此,这些数据在两个方面都很昂贵,首先,查找它需要时间,其次,就 Google API 而言,它实际上不是免费的,因为 Google 限制了每天可以进行的调用数量。
我理解 MVC 旨在“拥抱”Web,包括 http 是无状态协议这一事实。
尽管如此,我希望避免在每个需要它的端点的每个页面加载时获取这些昂贵的数据。此外,我想跟踪的另一项状态是数据已被获取这一事实。
在 MVC 3 Web 应用程序上实现此目标的最佳方法/最佳实践是什么?由于我的位置模型有 4 个数据点(经纬度城市州)并且有第五个数据点(检索到的数据),我真的很想避免使用查询字符串来执行此操作或为所有这些数据点提供路线?
我确信这是一个常见的需求,但老实说我不知道如何解决它。任何帮助将不胜感激。
Seth
在我看来,您想缓存对 google 的 API 调用。
http://msdn.microsoft.com/en-us/library/18c1wd61(v=vs.71).aspx http://msdn.microsoft.com/en-us/library/18c1wd61(v=vs.71).aspx
您可以将从 google 获取的对象存储在缓存中,并在新的控制器事件上调用它。您还可以创建另一个对象,其中包含来自 google 的对象和一个指示您是否已获取数据的 bool 值。
在我看来,缓存将是你最好的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)