[C#/ASP.NET MVC] HostingAbstractionsWebHostBuilderExtensions 클래스 : UseContentRoot 확장 메소드를 사용해 컨텐트 루트 경로 설정하기
C#/ASP.NET MVC 2020. 11. 16. 15:56728x90
반응형
728x170
▶ Program.cs
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using System.IO;
namespace TestProject
{
/// <summary>
/// 프로그램
/// </summary>
public class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Public
#region 프로그램 시작하기 - Main(argumentArray)
/// <summary>
/// 프로그램 시작하기
/// </summary>
/// <param name="argumentArray">인자 배열</param>
public static void Main(string[] argumentArray)
{
CreateHostBuilder(argumentArray).Build().Run();
}
#endregion
#region 호스트 빌더 생성하기 - CreateHostBuilder(argumentArray)
/// <summary>
/// 호스트 빌더 생성하기
/// </summary>
/// <param name="argumentArray">인자 배열</param>
/// <returns>호스트 빌더</returns>
public static IHostBuilder CreateHostBuilder(string[] argumentArray) =>
Host.CreateDefaultBuilder(argumentArray)
.ConfigureWebHostDefaults
(
builder =>
{
string directory = Directory.GetCurrentDirectory();
builder.UseContentRoot(directory)
.UseStartup<Startup>();
}
);
#endregion
}
}
728x90
▶ Controllers/HomeController.cs
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
namespace TestProject.Controllers
{
/// <summary>
/// 홈 컨트롤러
/// </summary>
public class HomeController : Controller
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 웹 호스트 환경
/// </summary>
private IWebHostEnvironment environment;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - HomeController(environment)
/// <summary>
/// 생성자
/// </summary>
/// <param name="environment">웹 호스트 환경</param>
public HomeController(IWebHostEnvironment environment)
{
this.environment = environment;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 인덱스 페이지 처리하기 - Index()
/// <summary>
/// 인덱스 페이지 처리하기
/// </summary>
/// <returns>액션 결과</returns>
public IActionResult Index()
{
ViewData["WebRootPath" ] = this.environment.WebRootPath;
ViewData["ContentRootPath"] = this.environment.ContentRootPath;
return View();
}
#endregion
}
}
300x250
▶ Views/Home/Index.cshtml
<p>홈 인덱스 페이지</p>
<hr />
<p>WebRootPath : @ViewData["WebRootPath"]</p>
<p>ContentRootPath : @ViewData["ContentRootPath"]</p>
728x90
반응형
그리드형(광고전용)
댓글을 달아 주세요