Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在客户端Blazor中管理图像收集的最佳方法_Asp.net_Dbcontext_Blazor_Dbset_Blazor Client Side - Fatal编程技术网

Asp.net 在客户端Blazor中管理图像收集的最佳方法

Asp.net 在客户端Blazor中管理图像收集的最佳方法,asp.net,dbcontext,blazor,dbset,blazor-client-side,Asp.net,Dbcontext,Blazor,Dbset,Blazor Client Side,我想建立一个滚动图像集合,我有一些关于如何进行的想法。我走了一些不正确的道路,不得不回头,所以我想我应该打开我目前的计划,以防有人能给我他们的经验,告诉我哪里可能会出错 加载 图像以二进制格式存储在SQL数据库中,通过DbContext访问并存储在DBSET中。我已将使用图像的对象从图像本身中分离出来。这允许我创建一个轻负载和一个满负载,其中轻负载加载除重部分(在本例中是图像二进制数据)之外的所有信息。这允许image showcase非常快速地填充网格,然后在后台遍历每个图像并完全加载它们 这

我想建立一个滚动图像集合,我有一些关于如何进行的想法。我走了一些不正确的道路,不得不回头,所以我想我应该打开我目前的计划,以防有人能给我他们的经验,告诉我哪里可能会出错

加载

图像以二进制格式存储在SQL数据库中,通过DbContext访问并存储在DBSET中。我已将使用图像的对象从图像本身中分离出来。这允许我创建一个轻负载和一个满负载,其中轻负载加载除重部分(在本例中是图像二进制数据)之外的所有信息。这允许image showcase非常快速地填充网格,然后在后台遍历每个图像并完全加载它们

这是一个解决办法,因为我找不到或弄不出一个用于延迟加载/虚拟滚动/Interscion Observer的可靠组件

我不希望用户在加载一次这些图像后必须重新加载它们。我本以为dbset会在加载数据后存储数据,并在加载之后立即返回所有其他查询。但事实似乎并非如此。因为每次似乎都会出现加载时间

内容是这样抓取的

using (var context = new SampleContext())
{
    var author = context.Authors.ToList();
}
我的问题是,我是否应该将此查询的结果存储在控制器本身中

还是国家目标


或者我对dbSet有些误解,应该能够在加载一次后从内存中检索到它们吗?

如果我必须在SPA中实现这一点,我将使用web api方法返回图像的URL。通过这种方式,浏览器加载图像并缓存结果。那么,在从数据库加载之前,使用HTTP缓存,然后在后续加载中以某种方式检查缓存?或者,这一逻辑全部封装在某个框架对象中?如果图像在缓存中,则不会调用web api。这是一个浏览器功能如果我必须在SPA中实现这一点,我将在web api方法中返回图像的URL。通过这种方式,浏览器加载图像并缓存结果。那么,在从数据库加载之前,使用HTTP缓存,然后在后续加载中以某种方式检查缓存?或者,这些逻辑都封装在某个框架对象中了吗?如果映像在缓存中,则不会调用web api。这是一种浏览器功能