AspNetCore 3 中出现意外的“设置 SizeLimit 时缓存条目必须指定 Size 值”消息

2024-03-25

因此,在今天更新到 AspNetCore 3 之前,这一切都运行良好。

我正在使用带有依赖注入的内存缓存(IMemoryCache cache).

我将它添加到我的中间件中services.AddMemoryCache(); 并且不设置大小,但我仍然收到错误消息:

设置 SizeLimit 时,缓存条目必须指定 Size 的值。

当我检查实例时MemoryCache它确实有一个大小10240设置(见图)。

问题是我已经找了一个小时了,但我不知道这是在哪里设置的。我的代码中没有任何地方SizeLimit or 10240任何地方 - 包括配置文件。

当我切换到使用时似乎已经开始app.UseEndpoints代替app.UseMvc()- 但我做了很多改变,我不确定。

我无法理解的这个可能设置在哪里?


我设法通过删除对的调用来阻止抛出此异常AddEntityFrameworkSqlServer()从我的ConfigureServices()中的方法Startup.cs:

public class Startup
{
   ...

   public void ConfigureServices(IServiceCollection services)
   {
      ...

      services
         .AddEntityFrameworkSqlServer() // <-- Removed this
         .AddDbContext<MyContext>(options =>
            options.UseSqlServer(...)
         )

      ...
   }

   ...
}

显然是在打电话AddEntityFrameworkSqlServer() EF Core 3 中不再需要 https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.sqlserverservicecollectionextensions.addentityframeworksqlserver?view=efcore-3.0:

构建大多数应用程序时不再需要调用此方法,包括那些在 ASP.NET 或其他地方使用依赖项注入的应用程序。

谢谢@西蒙_韦弗获取有关 EF Core 的线索!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AspNetCore 3 中出现意外的“设置 SizeLimit 时缓存条目必须指定 Size 值”消息 的相关文章

随机推荐