小编ant*_*eev的帖子

无法解决 IMemoryCache 依赖项

我有一个 net.core 3.1 托管服务应用程序。在此应用程序中,除了标准容器之外,autofac 还用作 DI 容器。我尝试添加并使用 IMemoryCache,如下所示:

\n
    \n
  1. 在程序.cs中
  2. \n
\n
Host.CreateDefaultBuilder(args)\n    .ConfigureAppConfiguration(...)\n    ...etc\n    .UseServiceProviderFactory(new AutofacServiceProviderFactory())\n    .ConfigureServices((hostContext, services) =>\n    {\n        // Register configuration\n        services.AddMemoryCache();\n        // some another services\n    }\n    .ConfigureContainer<ContainerBuilder>(ConfigureContainer)\n    .UseConsoleLifetime();\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  1. ConfigureContainer 是一种使用 autofac 注册某些类型的方法。
  2. \n
  3. 在我的服务中,我添加内存缓存依赖项,如下所示:
  4. \n
\n
    public class MyService: IMyService\n    {\n        private readonly IMemoryCache _memoryCache;\n        \n        public MyService(IMemoryCache memoryCache)\n        {\n            _memoryCache = memoryCache;\n        }\n    }\n
Run Code Online (Sandbox Code Playgroud)\n

但是当应用程序启动时我得到这个异常:

\n
Autofac.Core.DependencyResolutionException: An exception was thrown while activating \xce\xbb:Microsoft.Extensions.Hosting.IHostedService[] -> MyNamespace.WorkerService -> MyNamespace.MyAnotherService -> MyNamespace.SomeAnotherService -> …
Run Code Online (Sandbox Code Playgroud)

c# autofac .net-core

3
推荐指数
1
解决办法
5050
查看次数

标签 统计

.net-core ×1

autofac ×1

c# ×1