【发布时间】:2020-05-08 13:07:57
【问题描述】:
我有一个 .NET Core MVC 应用程序,它提供了一个仪表板来表示统计信息等。
我想将此 MVC 应用程序用作中间件,以便可以像使用 Hangfire、NSwag 等一样使用它。
所以在我的主要项目中,我想做以下事情:
- 导入我的 NuGet 包(仪表板 MVC 应用程序)
- app.UseDashboard(options...)
我的仪表板 MVC 应用程序中已经有一个中间件类,其中包含以下内容:
public static class JwtDashboardMiddleware
{
public static void UseMyDashboard(this IApplicationBuilder app)
{
// 1. Provide an endpoint(/ myDashboard)
app.Map("/myDashboard", app =>
app.Run(async (context) =>
{
string message = "Hello Middleware";
//2. This page contains a simple form, Submit the form to redirect to another for
await context.Response.BodyWriter.WriteAsync(Encoding.UTF8.GetBytes(message));
}));
}
}
我还使用仪表板 MVC 应用程序创建了一个 NuGet 包,它正在工作,但在主应用程序和仪表板 MVC 应用程序中,它无法访问视图等。
那么,如何从 Dasboard MVC 应用程序中的中间件访问控制器以及如何将其与其他 MVC 应用程序集成以实现上述要点?
顺便说一句。我也尝试重定向到控制器视图,但视图无法访问?我是否需要编译要包含在 NuGet 包中的视图,或者它是如何工作的?
主要问题是:如何在中间件中使用我的控制器和视图?
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-core middleware