OK,이 날 무지있는,하지만 난 다음 내 MVC3 응용 프로그램에서 경로있을 수 있습니다 내 Global.asax.cs에서ASP.NET MVC3 응용 프로그램 만드는 잘못된 경로 값
routes.MapRoute("Directory","{aid}/{controller}/{action}/{year}/{quarter}",
new { aid = "sf", controller = "Lobbyist", action = "Index",
year = CurrentYear(), quarter = CurrentQuarter() });
을, 내가 가진이 두 가지 방법 :이 코드는 큰 거의 모든 시간을 작동
public static int CurrentQuarter()
{
int quarter = 0;
//...use some internal business logic to determine the value of
//'quarter' based on the current date...
return quarter;
}
public static int CurrentYear()
{
return DateTime.Now.Year;
}
. 한 번에 IIS7을 실행하는 프로덕션 환경에서 CurrentQuarter()의 경로 값은 0, 1, 2, 3 또는 4 여야합니다. 그 한 시점. IISRESET은 문제를 '고쳤습니다'.
내가 알고있는 무엇 : 시간 CurrentQuarter에서
- () 여전히 , CurrentYear()를 한 실패한 CurrentQuarter() 메소드는 설정을 막았을 것 인 예외가 발생하지 않은
- 제대로 반환 된 'quarter'변수
- CurrentQuarter() 메서드를 구동하는 비즈니스 로직은 DateTime.MinValue와 DateTime.MaxValue 사이의 모든 날짜에 대해 을 사용합니다.
내 질문은 :
- 이 경로 값을 생성하는 정적 메소드를 호출하는 나쁜가요?
- 응용 프로그램에서 정적 메서드의 결과를 '잊어 버려서'가비지 값을 반환 할 수 있습니까? 응용 프로그램 풀 재활용이 원인 일 수 있습니까?
나는 일종의 빨대를 짚고 있습니다!
어떤 조언을 주셔서 감사합니다.
대답은 "아니요"및 "아니요"입니다. 새로운 MVC 프로젝트 인 RegisterRoutes에 대한 디폴트 Global.asax.cs (여기서 routes.MapRoute가 호출됩니까?)는 Application_Start에서 호출되는 정적 메소드입니다. CurrentQuarter는이 등록 중에 한 번만 호출됩니다. quarter url 요소에 대해 제공된 값은 요청 URL에없는 경우에만 사용됩니다. – Igor