2013-03-14 2 views
1

I는 .NET Framework 버전 4.0에서 실행 내 ASP.NET MVC 3 프로젝트의 지역 등록에서 다음과 같습니다 라우팅 엔진 '에 대한 기본 경로 값을 사용하는 경우 :ASP.NET MVC에서 DateTime.Now를 기본 경로 값으로 사용하는 것이 안전합니까?

context.MapRoute(null, 
       "YardJob/{location}/{from}", 
       new { controller = "YardJob", 
         action = "List", 
         from = DateTime.Now }); 

내 질문은 from ', 컨트롤러의 List 메서드는 항상 현재 날짜와 시간으로 호출됩니까?

라우팅 엔진에 기본 경로 값을 요청간에 다시 사용할 수있는 캐싱이 있습니까?

감사합니다,

+0

당신은 항상 사용하고자하는 경우 DateTime.Now, 왜 경로에 전달합니까? – glosrob

+0

그 경로를 사용하면 출발 지점에서 루트가 경로 맵에 등록 된 순간의 DateTime을 항상 가져옵니다. 이는 응용 프로그램이 시작될 때 발생합니다. –

+1

때때로 대체 값이 제공됩니다. – GemCer

답변

0

경로를 등록하는 과정이 실행되는 응용 프로그램이 시작될 때, 응용 프로그램이 시작이, 변경할 때의 필드에 대한 기본 매개 변수는 시간이 될 것 DateTime.Now 당신은 넣어 그래서 만약 때만 AppPool을 재생 시작

신청이 시작되면 어떻게 되나요? ASP.NET 응용 프로그램의 첫 번째 리소스 (예 : 페이지)가 요청되는 경우. Global.asax의 Application_Start 메서드는 응용 프로그램의 수명주기 동안 한 번만 호출됩니다. 이 메서드를 사용하여 데이터를 캐시에로드하고 정적 값을 초기화하는 등의 시작 작업을 수행 할 수 있습니다. 허용 대답은 설명 된 바와 같이 life cicle

+0

고마워, 큰 두통을 저장. – GemCer

0

밖으로

확인이 불가능합니다.

경로 :

context.MapRoute(null, 
    "YardJob/{location}/{from}", 
    new { controller = "YardJob", 
    action = "List", 
    from = UrlParameter.Optional } 
); 

컨트롤러 조치 : 그러나, 완성도를 위해, 여기 당신이이 문제를 해결 할 방법입니다

public ActionResult List (string location, DateTime from) 
{ 
    if (from == null) 
     from = DateTime.Now; 
} 
관련 문제