我在C#中有一个非常大的(4-5 mil)整数列表,我想发送到网站,以便可以通过javascript处理
我正在考虑使用实现该目的的arraybuffer,但我不知道如何将数组缓冲区(从我的后端)发送到前端(到我的javascript),所以我可以将我的c#list数组反序列化为类型化的javascript数组
我一直在调查使用websockets,这会比ajax更快吗?
我计划在Web worker中对此数组进行反序列化,并将其放入indexeddb。
我还希望在一段时间(几分钟)内将大约40个此类数组放入indexeddb。
答案 0 :(得分:0)
一段时间后你应该使用ajax来调用服务器。 WebSockets可能会丢失,因为它不会传输大量数据。
您可以使用jsstore执行indexeddb查询(它在Web worker中执行查询)。如果您使用普通的indexeddb,那么它也很好。因此,如果您使用jquery for ajax和jsstore for indexeddb。代码将是这样的 -
$.get(url, function(results){
//considering results is array of integer
var Connection = new JsStore.Instance('Db_name');
Connection.insert(
{
Into:'Table_name',
Values:results,
OnSuccess: function(rowsAdded){
alert(rowsAdded +' rows added');
},
OnError: function(error){
console.log(error)
}
})
})
您可以使用setInterval在一段时间后调用上述代码。