yl
2023-12-13 8cdeacd407027fdffa13b86c089c6ab407f3b773
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
 
namespace VueWebCoreApi.Tools
{
    public class CoreHttpContext
    {
        private static IWebHostEnvironment _hostEnviroment;
        public static string WebPath => _hostEnviroment.WebRootPath;
 
        public static string MapPath(string path)
        {
            return Path.Combine(_hostEnviroment.ContentRootPath, path);
        }
 
        internal static void Configure(IWebHostEnvironment hostEnviroment)
        {
            _hostEnviroment = hostEnviroment;
        }
    }
    public static class StaticHostEnviromentExtensions
    {
        public static IApplicationBuilder UseStaticHostEnviroment(this IApplicationBuilder app)
        {
            var webHostEnvironment = app.ApplicationServices.GetRequiredService<IWebHostEnvironment>();
            CoreHttpContext.Configure(webHostEnvironment);
            return app;
        }
    } 
}