gpt4 book ai didi

c# - 如何在 ASP.NET Core MVC 2.0 的另一个程序集中使用 Controller ?

转载 作者:可可西里 更新时间:2023-11-01 03:07:02 25 4
gpt4 key购买 nike

为了模块化,我在不同的程序集中创建了一些 Controller 。每个组件代表整个系统的一个有界上下文(一个模块、一个子系统、一个部门等)。

每个模块的 Controller 都是由对其他模块一无所知的人开发的,中央协调器将在一个应用程序中涵盖所有这些模块。

所以,有一个叫做 school 的模块,里面有一个 TeacherController。它的输出是 Contoso.School.UserService.dll

主要协调器称为 Education,它引用了 Contoso.School.UserService.dll

我的 program.cs 是:

    public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args).UseKestrel()
.UseStartup<Startup>()
.Build();

但是对于teacher controller的路由,我得到404。如何在其他组件中使用 Controller ?

最佳答案

Startup 类的 ConfigureServices 方法中,您必须调用以下内容:

services.AddMvc().AddApplicationPart(assembly).AddControllersAsServices();

assembly 是表示 Contoso.School.UserService.dll 的实例 Assembly

您可以从任何包含的类型获取它或像这样加载它:

var assembly = Assembly.Load("Contoso.School.UserService");

关于c# - 如何在 ASP.NET Core MVC 2.0 的另一个程序集中使用 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47617994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com