더북(TheBook)

7. 이번에는 컨트롤러에서 직접 URL을 반환시키는 방식이 아니라 앞서 생성한 InfoService 클래스를 사용해보자. SingletonDemoController 컨트롤러에 InfoServiceDemo 액션 메서드를 다음 코드와 같이 추가한다. InfoService 클래스의 GetUrl() 메서드를 호출해서 그 결괏값을 뷰 페이지에 전달하는 내용이다. 뷰 페이지는 따로 만들지 않고 Index 뷰 페이지를 호출한다. 여기서 SingletonDemoController 컨트롤러 클래스는 InfoService 클래스와 의존 관계다.

▼  Controllers/SingletonDemoController.cs

using DotNetNote.Services;
using Microsoft.AspNetCore.Mvc;

namespace DotNetNote.Controllers
{
  public class SingletonDemoController : Controller
  {
      public IActionResult Index()
      {
          ViewData[“Url”] = “www.gilbut.co.kr”;
          return View();
      }
      
      public IActionResult InfoServiceDemo()
      {
          InfoService svc = new InfoService();
          ViewData[“Url”] = svc.GetUrl();
          return View(“Index”);
      }
  }
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.