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”); } } }