asp.net core 中的各種路徑


1.獲取完整網址URL

方法一:先引用“using Microsoft.AspNetCore.Http.Extensions;”,然后直接用“Request.GetDisplayUrl();”

方法二:后來參考 Microsoft.AspNetCore.Rewrite 的源代碼,寫了一個擴展方法實現

namespace Microsoft.AspNetCore.Http
{
    public static class HttpRequestExtensions
    {
        public static string GetAbsoluteUri(this HttpRequest request)
        {
            return new StringBuilder()
                .Append(request.Scheme)
                .Append("://")
                .Append(request.Host)
                .Append(request.PathBase)
                .Append(request.Path)
                .Append(request.QueryString)
                .ToString();
        }
    }
}

 

2.獲取網站在服務器的物理路徑

    public class HomeController : Controller
    {
        IHostingEnvironment env;
        public HomeController(IHostingEnvironment _env) { env = _env; }

        public IActionResult Index()
        {
            //https://localhost:44359/home/index
            string url = HttpContext.Request.GetDisplayUrl();

            //D:\\Visual Studio 2017\\tourism_app\\ZhiRen.Tourism.UI\\bin\\Debug\\netcoreapp2.1\\
            string path = System.AppContext.BaseDirectory;

            //D:\\Visual Studio 2017\\tourism_app\\ZhiRen.Tourism.UI
            string siteRoot = env.ContentRootPath;

            //D:\\Visual Studio 2017\\tourism_app\\ZhiRen.Tourism.UI\\wwwroot
            string wwwroot = env.WebRootPath;

            //D:\\Visual Studio 2017\\tourism_app\\ZhiRen.Tourism.UI\\bin\\Debug\\netcoreapp2.1
            var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
            
            return View();
        }
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM