>

새로운 WebAPI 서비스를 만들고 있습니다. 지금까지 내 EF 리포지토리 프로젝트에서 메서드를 호출하는 내 논리 프로젝트에서 메서드를 호출하는 하나의 끝 점이 있습니다. Visual Studio의 IIS Express에서 실행할 때 작동합니다. IIS 사이트 (IIS 7.5)에 게시하면 404를 찾을 수 없으며 application_start가 실행되지 않는 것처럼 보입니다. 예외를 발생시키기 위해 application_start에 코드를 추가했는데 해당 예외를 볼 수 없으며 404 Not Found 만 있습니다. Visual Studio 2015에서 서비스를 만들었습니다. ASP.NET 웹 응용 프로그램 (.NET Framework) 프로젝트 형식을 사용했습니다. 해당 선택을 따르는 대화 상자에서 빈 템플릿을 선택하고 확인란을 선택하여 웹 API에 대한 폴더 및 핵심 참조를 추가합니다. 이러한 선택에 따라 프로젝트에는 Microsoft.AspNet.WebApi, Microsoft.AspNet.WebApi.Client, Microsoft, AspNet.WebApi.Core 및 Microsoft.AspNet.WebApi.WebHost와 같은 Nuget 패키지가 설치되어 있습니다. (다른 패키지가 있지만 모두 WebApi 패키지입니다. 내 global.asax.cs 코드는 다음과 같습니다.

public class WebApiApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        //throw new ApplicationException("This is just a test");
        GlobalConfiguration.Configure(WebApiConfig.Register);
    }
}

그리고 WebApiConfig.Register 메소드는 다음과 같습니다 :

   public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services
        // Web API routes
        config.MapHttpAttributeRoutes();
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }

그러나 내가 말했듯이 IIS에 코드를 배포 할 때 위의 코드가 실행되고 있다고 생각하지 않습니다. Application_Start에서 throw 문의 주석을 해제하면 예외가 발생하지 않습니다. 또한이 문제를 디버깅하는 동안 Application_Start에 Sleep (60000) 문이 있습니다. Visual Studio의 IIS Express에서 실행하면 1 분 지연되는 것을 볼 수 있습니다. IIS에 배포 할 때 1 분 지연없이 404로 즉시 실패합니다.

Application_Start가실행되지게 만드는 이유는 무엇입니까?


  • 이전 파이썬에서 여러 SQL 문
  • 다음 node.js - 문자열 배열을 함수에 전달할 수 없습니다