src/Framework/Host/Host.Web/ApplicationBuilderExtensions.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.HttpOverrides;
using Microsoft.AspNetCore.Rewrite;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Hosting;
using NetModular.Lib.Host.Web.Middleware;
using NetModular.Lib.Module.AspNetCore;
using NetModular.Lib.Swagger.Core;
using NetModular.Lib.Utils.Core.Interfaces;
using System.IO;
using System.Linq;
using HostOptions = NetModular.Lib.Host.Web.Options.HostOptions;
namespace NetModular.Lib.Host.Web
{
public static class ApplicationBuilderExtensions
{
/// <summary>
/// 启用WebHost
/// </summary>
/// <param name="app"></param>
/// <param name="hostOptions"></param>
/// <param name="env"></param>
/// <returns></returns>
public static IApplicationBuilder UseWebHost(this IApplicationBuilder app, HostOptions hostOptions, IHostEnvironment env)
{
//异常处理
app.UseExceptionHandle();
//设置默认文档
var defaultFilesOptions = new DefaultFilesOptions();
defaultFilesOptions.DefaultFileNames.Clear();
defaultFilesOptions.DefaultFileNames.Add("index.html");
app.UseDefaultFiles(defaultFilesOptions);
//基地址
var pathBase = hostOptions.PathBase;
if (pathBase.NotNull())
{
pathBase = pathBase.Trim();
if (!pathBase.StartsWith('/'))
{
pathBase = $"/{pathBase}";
}
//1、配置请求基地址:
app.Use((context, next) =>
{
context.Request.PathBase = pathBase;
return next();
});
// 2、配置静态文件基地址:
app.UsePathBase(pathBase);
}
app.UseDefaultPage();
后面还有 110 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
