ASP.NET 코어 에서 어떻게 방향 을 바 꾸 는 지 상세 하 게 설명 합 니 다.

머리말
ASP.NET Core 는 크로스 플랫폼 으로 오픈 소스,경량급,모듈 화 되 어 고성능 웹 개발 프레임 워 크 를 구축 하 는 데 사 용 됩 니 다.ASP.NET Core MVC 는 하나의 request 요청 을 지정 한 url 로 옮 기 는 다양한 방식 을 내장 하고 있 습 니 다.이 글 은 어떻게 실현 할 것 인 가 를 토론 합 니 다.
RedirectActionResult 이해
ASP.NET Core MVC 에는 몇 가지 Redirect 가 내장 되 어 있 습 니 다.예 를 들 어 Redirect Result,Redirect ToAction Result,Redirect ToRoute Result 와 Local Redirect Result 등 은 모두 Action Result 에 계승 되 고 전단 에 Http 302,Http 301,Http 307 과 Http 308 등 상태 코드 를 되 돌려 줄 수 있 습 니 다.
다음 글 에서 우 리 는 이런 종 류 를 어떻게 사용 하 는 지 보 자.
RedirectResult 사용
다음 의 어떤 방법 으로 든 Redirect Result 로 돌아 갈 수 있 습 니 다.
  • Redirect 가 Http 상태 코드 를 302
  • 로 되 돌려 줍 니 다.
  • RedirectPermanent 가 Http 상태 코드 를 301
  • 로 되 돌려 줍 니 다.
  • RedirectPermanent PreserveMethod Http 상태 코드 를 308
  • 로 되 돌려 줍 니 다.
  • RedirectPreserveMethod Http 상태 코드 를 307 으로 되 돌려 줍 니 다.
  • 구체 적 인 상태 코드 가 무슨 뜻 인지 전문 자 료 를 찾 아 보 세 요.아래 의 코드 는 이런 방법 을 어떻게 사용 하 는 지 보 여 줍 니 다.
    
    Redirect("/Home/Index");
    RedirectPermanent("/Home/Index");
    RedirectPermanentPreserveMethod("/Home/Index");
    RedirectPreserveMethod("/Home/Index");
    
    만약 이러한 방법 에 속 았 다 면 Redirect Result 를 직접 사용 한 다음 에 permanent 와 preserveMethod 두 개의 매개 변 수 를 통 해 어떤 Http 상태 코드 를 되 돌려 주 는 지 조절 하면 됩 니 다.코드 는 다음 과 같 습 니 다.
    
    public RedirectResult Index()
    {
     return new RedirectResult(url: "/Home/Index", permanent: true, preserveMethod: true);
    }
    

    주의해 야 할 것 은 Redirect 방법 도 지정 한 url 주 소 를 안내 할 수 있 습 니 다.예 를 들 어 아래 와 같 습 니 다.
    
    public RedirectResult Index()
    {
     return Redirect("https://google.com");
    }
    
    다음은 상속 관 계 를 간단하게 알 아 보 겠 습 니 다.HomeController 는 Controller 를 계 승 했 고 후 자 는 Controller Base 를 계 승 했 으 며 IAction Filter,IFilterMetadata,IAsyncAction Filter 와 IDisposable 인 터 페 이 스 를 실 현 했 습 니 다.다음 코드 는 다음 과 같 습 니 다.
    
    public class HomeController : Controller
    {
    }
    
    public abstract class Controller : ControllerBase, IActionFilter, IFilterMetadata, IAsyncActionFilter, IDisposable
    {
    }
    
    
    RedirectToActionResult 사용 하기
    이 Action Result 는 요청 을 지정 한 Controller.Action 으로 전환 하 는 데 사 용 됩 니 다.Controller 가 지정 되 지 않 으 면 현재 Controller 아래 Action 으로 자 연 스 럽 게 이동 합 니 다.아래 에 나열 되 어 있 는 방법 으로 요청 을 지정 한 Action 으로 이동 할 수 있 습 니 다.
  • RedirectToAction 반환 Http 상태 코드 302
  • RedirectToAction Permanent 가 Http 상태 코드 를 301
  • 로 되 돌려 줍 니 다.
  • RedirectToAction Permanent PreserveMethod Http 상태 코드 를 308
  • 로 되 돌려 줍 니 다.
  • RedirectToAction PreserveMethod Http 상태 코드 를 307 으로 되 돌려 줍 니 다.
  • 구체 적 인 방법 을 사용 하지 않 으 려 면 부류 의 RedirectToAction 방법 을 직접 사용 해도 된다.
    
    public RedirectToActionResult Index()
    {
     return RedirectToAction(actionName: "Index", controllerName: "Home");
    }
    
    현재 Controller 아래 에 있 는 액 션 으로 만 이동 하면 Controller 이름 을 무시 할 수 있 습 니 다.다음 코드 는 다음 과 같 습 니 다.
    
    public RedirectToActionResult Index()
    {
     return RedirectToAction(actionName: "Privacy");
    }
    
    RedirectToRouteResult 사용 하기
    이것 은 요청 을 지정 한 Action 으로 옮 길 수 있 는 또 다른 방식 입 니 다.아래 에 나열 되 어 있 는 방법 으로 점프 를 할 수 있 습 니 다.
  • RedirectToRoute 반환 Http 상태 코드 302
  • RedirectToRoute Permanent 가 Http 상태 코드 를 301
  • 로 되 돌려 줍 니 다.
  • RedirectToRoute Permanent PreserveMethod Http 상태 코드 를 308
  • 로 되 돌려 줍 니 다.
  • RedirectToRoute PreserveMethod Http 상태 코드 를 307 으로 되 돌려 줍 니 다.
  • 다음 코드 세 션 은 RedirectToRoute 를 어떻게 사용 하 는 지 보 여 줍 니 다.
    
    public RedirectToRouteResult Index()
    {
     return RedirectToRoute("author");
    }
    
    또한 RouteValueDictionary 를 통 해 점프 할 Route 값 을 지정 할 수 있 습 니 다.다음 코드 는 다음 과 같 습 니 다.
    
    var routeValue = new RouteValueDictionary(new { action = "View", controller = "Author"});
    return RedirectToRoute(routeValue);
    
    LocalRedirectResult 사용 하기
    이 Action Result 는 로 컬 url 로 이동 하 는 데 만 사 용 됩 니 다.이 는 외부 사이트 의 url 로 이동 하면 이상 을 던 질 것 임 을 의미 합 니 다.아래 에 나열 한 방법 으로 점프 를 실현 할 수 있다.
  • LocalRedirect 가 Http 상태 코드 를 302
  • 로 되 돌려 줍 니 다.
  • LocalRedirectPermanent 가 Http 상태 코드 를 301
  • 로 되 돌려 줍 니 다.
  • LocalRedirectPermanent PreserveMethod Http 상태 코드 를 308
  • 로 되 돌려 줍 니 다.
  • Local Redirect Preserve Method Http 상태 코드 를 307 으로 되 돌려 줍 니 다.
  • Razor 페이지 로 이동
    마지막 으로 알 아야 할 것 은 RedirectToPage 방법 으로 요청 을 지정 한 Razor 페이지 로 옮 기 고 Http 상태 코드 302 로 돌아 갈 수 있다 는 것 입 니 다.예 를 들 어 Author Page 가 있 습 니 다.다음 코드 로 이동 할 수 있 습 니 다.
    
    public IActionResult RedirectToAuthorPage()
    {
     return RedirectToPage("Author");
    }
    
    번역문 링크:https://www.infoworld.com/art...
    총결산
    ASP.NET Core 에서 어떻게 방향 을 바 꿀 수 있 는 지 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 ASP.NET Core 가 방향 을 바 꿀 수 있 는 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부탁드립니다!

    좋은 웹페이지 즐겨찾기