加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

在asp.netcore的中间件中返回具体的页面的实现方法

发布时间:2020-11-18 02:47:19 所属栏目:云计算 来源:网络整理
导读:这篇文章主要介绍了在 asp.net core 的中间件中返回具体的页面的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可

public SwaggerUIMiddleware(
  RequestDelegate next,
  IHostingEnvironment hostingEnv,
  ILoggerFactory loggerFactory,
  SwaggerUIOptions options)
 {
  _options = options ?? new SwaggerUIOptions();

_staticFileMiddleware = CreateStaticFileMiddleware(next, hostingEnv, loggerFactory, options);
 }

private StaticFileMiddleware CreateStaticFileMiddleware(
  RequestDelegate next,
  IHostingEnvironment hostingEnv,
  ILoggerFactory loggerFactory,
  SwaggerUIOptions options)
 {
  var staticFileOptions = new StaticFileOptions
  {
   RequestPath = string.IsNullOrEmpty(options.RoutePrefix) ? string.Empty : $"/{options.RoutePrefix}",
   FileProvider = new EmbeddedFileProvider(typeof(SwaggerUIMiddleware).GetTypeInfo().Assembly, EmbeddedFileNamespace),
  };

return new StaticFileMiddleware(next, hostingEnv, Options.Create(staticFileOptions), loggerFactory);
 }
}

当完成了页面的呈现后,因为一般我们会创建一个单独的类库来实现这些功能,在页面中,可能会包含前后端的数据交互,由于我们在宿主的 API 项目中已经完成了对于路由规则的设定,所以这里只需要在类库中通过 nuget 引用 Microsoft.AspNetCore.Mvc.Core ,然后与 Web API 一样的定义 controller,确保这个中间件在宿主程序的调用位于路由匹配规则之后即可

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

app.UseHttpsRedirection();

app.UseRouting();

app.UseAuthorization();

// Endpoint 路由规则设定
 app.UseEndpoints(endpoints =>
 {
  endpoints.MapControllers();
 });

// 自定义中间件
 app.UseMiddleware<SampleUIMiddleware>();
}

参考:https://www.jb51.net/article/116369.htm

总结

到此这篇关于在 asp.net core 的中间件中返回具体的页面的实现方法的文章就介绍到这了,更多相关asp.net core 中间件返回具体的页面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读