Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有依赖项注入的构造函数在react asp.net核心应用程序中导致http 500错误_C#_Asp.net_Asp.net Web Api_Dependency Injection_Controller - Fatal编程技术网

C# 带有依赖项注入的构造函数在react asp.net核心应用程序中导致http 500错误

C# 带有依赖项注入的构造函数在react asp.net核心应用程序中导致http 500错误,c#,asp.net,asp.net-web-api,dependency-injection,controller,C#,Asp.net,Asp.net Web Api,Dependency Injection,Controller,以下控制器句柄使用注册等操作。但是,当我使用axios调用控制器中的Register方法时,我收到了以下错误 加载资源失败:服务器响应状态为500() 但是,如果我在构造函数中对代码进行注释,调用就会成功。我不明白为什么构造器会产生这个问题。有什么建议吗 public class ApplicationUserController : ControllerBase { private IUserService _userService; private IMapper _mapp

以下控制器句柄使用注册等操作。但是,当我使用axios调用控制器中的
Register
方法时,我收到了以下错误

加载资源失败:服务器响应状态为500()

但是,如果我在构造函数中对代码进行注释,调用就会成功。我不明白为什么构造器会产生这个问题。有什么建议吗

public class ApplicationUserController : ControllerBase
{
    private IUserService _userService;
    private IMapper _mapper;
    private readonly AppSettings _appSettings;

    public ApplicationUserController(
        IUserService userService,
        IMapper mapper,
        IOptions<AppSettings> appSettings
    )
    {
        _userService = userService;
        _mapper = mapper;
        _appSettings = appSettings.Value;
    }

    [AllowAnonymous]
    [HttpPost]
    [Route("api/ApplicationUser/Register")]
    public IActionResult Register([FromBody]ApplicationUserDto userDto)
    { 
         //implementation details
    }
}
DI注册在
Startup.cs

services.AddScoped<IUserService, UserService>();
services.AddScoped<myDbContext>();
services.addScope();
services.addScope();

IMapper是来自AutoMapper库的接口

您需要添加包
AutoMapper.Extensions.Microsoft.DependencyInjection
并调用

services.AddAutoMapper();

您是否也向DI注册了DB上下文,因为您的UserService依赖于DbContext,所以在解析UserService时它将构造它。@Jinish感谢您的回复!您的意思是添加
services.addScope()?我只是添加并尝试了一下。我仍然遇到同样的错误。注册dbcontext的方法有点不同。如果不看一下注册了所有依赖项的整个Startup类,那么就只能猜测可能的错误。但是,请查看此链接:[@Jinish我按照此处的说明操作:。仍然是相同的错误。我将继续处理它。有了这些更新,现在问题出在
IMapper
。如果我对它进行注释,它可以正常工作。我添加了
services.AddScoped();
,但仍然收到相同的错误。有任何想法@Jinish吗?
services.AddAutoMapper();