ASP.NET 3

HttpContextBase를 이용해서 ASP.NET 코드의 테스트 가능성 높이기

유닛 테스트를 중요하게 생각하여 설계한 코드라면 HttpContext 같이 ASP.NET 프레임워크에 종속되어 테스트가 불가능해지는 클래스들은 진작에 어댑터 등을 이용하여 분리시켜 두었을 것이다. 하지만 이미 작성된 코드가 많은 상황에서 유닛 테스트를 도입할 때에는 HttpContextBase 클래스가 유용하게 사용될 수 있다. HttpContextBase 클래스는 ASP.NET MVC에서 쓰이는 클래스라서 (Controller.HttpContext Property 참조) 3.5 SP1부터 쓸 수 있고, System.Web.Abstractions 어셈블리(네임스페이스는 System.Web)를 참조에 추가하면 된다. HttpContextBase 클래스는 기존의 HttpContext 클래스와 완전히 동일한 ..

2009.12.19

javascript로 UpdatePanel 업데이트 시키기(Master Page)

javascript로 ASP.NET AJAX의 UpdatePanel 컨트롤을 업데이트 시키는 방법을 따라하면 일반적인 경우에는 잘 된다. 그러나 마스터 페이지를 사용하는 페이지에 UpdatePanel을 넣은 경우에는 다음과 같이 __doPostBack 했을 때, __doPostBack('', ''); PostBack은 발생하지만 버튼 이벤트 핸들러에 들어가지를 않아서 원하는대로 화면이 갱신되지 않는다. 왜 잘 안될까 다른 방법을 써서 마구 삽질하다가, 우연히 ClientID 대신 UniqueID로 바꿔봤는데 잘 된다는 것을 알게됐다. 사실 Page_Load 이벤트 같은데 브레이크 포인트를 걸어놓고, 비동기 PostBack이 발생했을 때 Request.Form 컬렉션을 잘 살펴보면, 컬렉션에 들어가 있는 ..

2009.03.13

Framework's Day, ASP.NET and ASP.NET MVC

지난 주말 데브피아 Framework's Day에 갔었다. 첫 번째 발표였던 김용현님의 발표에 질문을 한 덕분에 Holubs on Patterns 번역서를 득템했다. 어제 기묘 창의력 세미나에서도 책을 받아서 기분 좋은 요며칠이다. 모든 주제들이 모두 흥미있고 고민해야할 주제였지만, ASP.NET MVC는 왠지 가장 피부에 와닿는 주제였다. 발표가 끝나고 장현희님께 한 질문은 'ASP.NET에 대한 경험이 많지 않은 팀이 새로운 프로젝트를 할 때 ASP.NET과 ASP.NET MVC 중 어느 쪽을 추천하시겠습니까?'였다. 테스트 용이성 M, V, C를 분리해서 개발하기 용이하다 AJAX와의 자연스러운 연결 ASP.NET MVC가 상대적으로 이런 장점을 가지고 있으므로 아직 정식 버전이 나오지는 않은 상태..

2008.12.04