gpt4 book ai didi

asp.net-core - AspNetCore 3 中出现意外的 "Cache entry must specify a value for Size when SizeLimit is set"消息

转载 作者:行者123 更新时间:2023-12-01 19:37:04 30 4
gpt4 key购买 nike

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

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

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

Cache entry must specify a value for Size when SizeLimit is set.

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

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

当我切换到使用 app.UseEndpoints 时似乎就开始了而不是app.UseMvc() - 但我做了很多我不确定的改变。

这可能是在哪里设置的,但我却无法理解。?

enter image description here

最佳答案

我通过从 Startup.cs 中的 ConfigureServices() 方法中删除对 AddEntityFrameworkSqlServer() 的调用,成功阻止了引发此异常>:

public class Startup
{
...

public void ConfigureServices(IServiceCollection services)
{
...

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

...
}

...
}

显然正在调用AddEntityFrameworkSqlServer() is no longer needed in EF Core 3 :

Calling this method is no longer necessary when building most applications, including those that use dependency injection in ASP.NET or elsewhere.

感谢@Simon_Weaver提供有关 EF Core 的线索!

关于asp.net-core - AspNetCore 3 中出现意外的 "Cache entry must specify a value for Size when SizeLimit is set"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58406143/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com