博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在.NET Core中遭遇循环依赖问题"A circular dependency was detected"
阅读量:6710 次
发布时间:2019-06-25

本文共 869 字,大约阅读时间需要 2 分钟。

今天在将一个项目迁移至ASP.NET Core的过程中遭遇一个循环依赖问题,错误信息如下:

A circular dependency was detected for the service of type 'CNBlogs.Application.Interfaces.ITagService'

一开始以为是项目之间的引用关系引起的,在project.json中找来找去,一无所获。

后来从构造函数下手,才发现问题所在。

实现ITagService的类TagService的构造函数是这么定义的:

public class TagService : ITagService{    private readonly IContentTagsService _contentTagService;    public TagService(IContentTagsService contentTagService)    {        _contentTagService = contentTagService;    }}

这是很标准的通过构造函数依赖注入的定义方式,本身并没有问题。但是我们来看看实现IContentTagsService的类ContentTagsService的构造函数定义:

public class ContentTagsService : IContentTagsService{    private readonly ITagService _tagService;    public ContentTagsService(ITagService tagService)    {        _tagService = tagService;    }}

TagService实现ITagService,依赖IContentTagsService;ContentTagsService实现IContentTagsService,却又依赖ITagService。循环依赖问题就这么闪亮登场了。

转载地址:http://lzalo.baihongyu.com/

你可能感兴趣的文章
jquery 找不到live方法解决
查看>>
BZOJ 1814 Ural 1519 Formula 1
查看>>
HDU 3951 Coin Game
查看>>
Linux安装oracle 10g常见问题之——OUI-25031
查看>>
如何写angularJS模块
查看>>
hdu4940 Destroy Transportation system(2014多校联合第七场)
查看>>
android Binder的优点
查看>>
demo16Toast
查看>>
Visual Studio Emulator for Android 的安装与使用 感觉最干净好看的模拟器.
查看>>
JDK环境变量的配置
查看>>
mac添加环境变量
查看>>
ORM之创建数据库
查看>>
PHP处理Android的POST数据
查看>>
总结spring下配置dbcp,c3p0,proxool数据源链接池
查看>>
Sublime Text3 快捷键汇总及设置快捷键配置环境变量
查看>>
代码调试--自定义一个简单的debug函数
查看>>
T4语法快速入门
查看>>
OOP 第四章博客总结
查看>>
JAVAEE——SpringBoot配置篇:配置文件、YAML语法、文件值注入、加载位置与顺序、自动配置原理...
查看>>
洛谷 P1044 栈
查看>>