小编E-A*_*E-A的帖子

当实体在不同的项目中时,Mediatr为什么不解析方法?

我有一个简单的项目来尝试Mediatr问题。当我的API的SAME项目中的处理程序的具体类起作用时,它将起作用。但是,当我将该处理程序类带入另一个项目(并且API引用该项目的c)时,它不会解析注册表。

我收到此错误:

找不到针对MediatR.IRequestHandler`2 [MyBiz.GetTokenModelRequest,MyBiz.TokenModel]类型的请求的处理程序。在容器中注册您的处理程序。有关示例,请参见GitHub中的示例。

我在项目中有这个结构,并且还显示了它的工作原理和不工作的地方:

项目结构表示为树状视图

有关更多说明,请参见以下代码:

MyApi2-> Startup.cs:

namespace MyApi2
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            services.AddMediatR();
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseMvc();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MyApi2-> ValuesController:

namespace MyApi2.Controllers
{
    [Route("api/[controller]")]
    public class ValuesController : Controller
    {
        private readonly IMediator _mediator;

        public ValuesController(IMediator mediator)
        {
            _mediator = mediator;
        }

        [HttpGet]
        public async …
Run Code Online (Sandbox Code Playgroud)

c# mediatr asp.net-core

5
推荐指数
1
解决办法
604
查看次数

标签 统计

asp.net-core ×1

c# ×1

mediatr ×1