더북(TheBook)

3. 에러를 해결하기 위해 프로젝트 루트에 있는 Startup.cs 파일을 연다. Startup.cs 파일의 ConfigureService 메서드에 서비스 클래스를 등록하는 코드가 필요하다. 다음 코드처럼 상단에 네임스페이스를 추가하고, ConfigureServices 메서드 하단에 서비스 등록 코드를 한 줄 추가한다. AddTransient() 메서드를 통해서 CopyrightService 클래스가 생성자 매개 변수로 전달될 때 해당 클래스의 인스턴스가 자동 생성되도록 설정하는 코드다. 참고로 Startup.cs 파일의 나머지 코드는 생략한 상태다.

▼  Startup.cs 파일의 ConfigureService에 서비스 등록 코드 추가

using DotNetNote.Services;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;

namespace DotNetNote
{
  public class Startup
  {
      public Startup(IHostingEnvironment env)
      {
      
      }
      
      public IConfigurationRoot Configuration { get; }
      
      public void ConfigureServices(IServiceCollection services)
      {
          services.AddMvc();
          
          //[DI(Dependency Injection)] 서비스 등록
          services.AddTransient<CopyrightService>();
      }
      
      public void Configure(
          IApplicationBuilder app,
          IHostingEnvironment env,
          ILoggerFactory loggerFactory)
      {
          app.UseStaticFiles();
          
          app.UseMvc(routes =>
          {
              routes.MapRoute(
                  name: “default”,
                  template: ”{controller=Home}/{action=Index}/{id?}”);
          });
      }
  }
}

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