因此,在今天更新到 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(使用前将#替换为@)