我希望为.net网络表单中的一系列字段创建intellisense,这将使用户能够单击其中一个选项,这些选项将依次填写一系列字段(名称,地址等)。使用c#.net和ajax实现这一点非常简单。但是,最近我被迫加密了针对数据库搜索的一些关键字段,因此该功能现在已被破坏。我们解密这些可搜索字段的唯一方法是目前在C#.net。
中为了修复这个功能,我想到了: a)当页面加载时,抓取所有记录并存储在内存中的数组中(未加密),并且搜索字段中的用户键使用linq或lambda来获取感兴趣的记录。 b)页面加载时,将所有记录存储在js数组中(未加密)并执行搜索客户端。
对于我的网络服务器与客户端浏览体验的性能考虑因素,哪条路线最佳?
我想这会是< 100k记录。
答案 0 :(得分:1)
为什么不将记录存储在服务器缓存中并发出ajax请求。这样做会使记录集对所有用户可用。
答案 1 :(得分:1)
在每个页面加载时向客户端发送大量记录会很慢。
您可以使用动态缓存,每隔几秒钟加载一次数据。
答案 2 :(得分:1)
每行多大? ~100k行可以是很多数据。
在客户端
客户端上的100k是很多数据,即使它是几列数据。那只是数据,然后是搜索它的问题。这是桌面浏览器上的一个问题。它将杀死移动浏览器。
在服务器上
这更合理。
需要考虑的事项:
Ajax仍然可行(假设数据存储在服务器上)。您必须将搜索请求路由到适当的存储(在内存,数据库或两者的混合)。