IIS7에서 실행되는 asp.net 2.0 웹 응용 프로그램이 있습니다. 그것은 웹 가든과 asp.net 상태 서버를 사용하고 있습니다.Asp.net 2.0 버튼 클릭 방법이 웹 가든에서 일관되게 작동하지 않습니다.
페이지에는 많은 사용자 정의 컨트롤이 있습니다. 사용자 컨트롤 중 하나에서 해당 메서드가 실행될 때마다 로그에 줄을 기록하는 button_click 이벤트에 로깅을 추가했습니다. 버튼을 클릭하면 정기적으로 로그 항목 만 표시됩니다. 버튼을 클릭 할 때 이벤트가 항상 실행되는 것은 아닙니다. 버튼을 클릭 할 때 버튼 클릭 방식이 항상 실행되고있는 것은 아니기 때문에 로깅을 추가했습니다. 우리가보고있는 증거는 우리의 의심을 확인하는 것 같습니다.
웹 가든을 제거하고 사이트를 단일 응용 프로그램 풀로 되돌리면 응용 프로그램이 정상으로 돌아옵니다. 버튼 이벤트가 매번 실행됩니다. 로컬 개발자 컴퓨터에서 응용 프로그램을 실행하면 정상적으로 작동합니다.
다른 사람이 이와 같은 행동을 보았습니까? 문제의 범위를 좁히기 위해 취할 수있는 다음 단계에 대한 권장 사항이 있습니까?
편집 :
protected void btnSearch_Click(object sender, EventArgs e)
{
Log.Error("Searching...");
SearchArgs args = CtrlToSearchArgs();
SessionManager.SearchQueryString = Request.QueryString;
string url = NavigationManager.BuildSearchUrl(args, null, "*** page url removed here ***");
if (args.PageSize.HasValue)
{
SessionManager.SetInSession(SessionManager.Key.SEARCH_PAGESIZE, args.PageSize.Value.ToString());
}
else
{
SessionManager.SetInSession(SessionManager.Key.SEARCH_PAGESIZE, "10");
}
SessionManager.SearchPanelData = url;
//Set the new args into the session
SessionManager.SearchControlArgs = args;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Redirect(url);
}
편집 # 2 : 명확한 설명 -이 여러 서버를 사용하지 않는 설정하고 부하 분산 장치를받지 않는 여기의 요청에 따라 이벤트의 소스입니다. 우리는 단일 서버에서 여러 AppPools를 사용하고 있습니다.
button_click 코드 게시 ... – cjk