본문 바로가기

C#(ASP.NET)

(28)
WebService (C# ASP.NET) 1. WebService 특성 [WebService(Namespace="http://MyServer/MyWebServices/", Description="웹서비스에 대한 설명 텍스트가 여기에 올 수 있습니다.", Name="MyFavoritesService")] public class WebService1: System.Web.Services.WebService { // 코드 구현 } 1) Namespace 이 속성의 값에는 XML Web Service의 기본 네임스페이스가 포함됩니다. XML 네임스페이스는 URI(Uniform Resource Identifier)에 의해 식별되는 XML 문서에서 이름을 만드는 방법을 제공합니다. XML 네임스페이스를 사용하여 XML 문서에서 요소나 특성을 고유하게 식별..
httpHandlers, httpModules 샘플 (Web.config) 기본구조 httpModules를 제거하고자 할 경우 요소 supported http verbs : POST, GET, HEAD 등등 path : *, *.aspx 등등 크리에이티브 커먼즈 라이선스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 3.0 Unported 라이센스에 따라 이용하실 수 있습니다.
URL Rewriting in ASP.NET (실전활용) 이 포스트를 읽기 전에 꼭 URL Rewriting in ASP.NET 포스트를 먼저 읽어보도록 하자. 프로그램에서는 무엇이든지 간에 해당 기술의 기본원리를 알고 이해해야지만 더 좋은 적용방법과 응용방법이 생각날 것이고 문제에 직면했을때 더 빠른 해결방법을 찾아낼 수 있을것이다. 단지 주어진 기술, 또는 Copy & Paste는 자기발전에 전혀 도움이 되지 않거니와 개발자라고 하기에 챙피한 일이지 않은가? 그럼 모두 앞 포스트를 숙지하였다고 생각하고 앞 포스트의 내용을 기초로 하여 실제 사용가능한 URL Rewriter를 만들어 적용하여 보자. 아마도 아래 내용을 이해했다면 HttpModule을 이용한 URL Rewriter를 만드는건 어렵지 않을 것이다. 만약 어렵다면 제가 만들어놓은 어셈블리(.NET..
URL Rewriting in ASP.NET 원문 : http://msdn.microsoft.com/en-us/library/ms972974.aspx 소개  여러분의 웹 사이트의 URL들을 잠시 머리속에 떠올려보자. 여러분 사이트의 URL이 http://yoursite.com/info/dispEmployeeInfo.aspx?EmpID=459-099&type=summary 이와 같거나 아마 어떤 디렉토리로 또는 다른 사이트로 옮겨진 수많은 웹페이지를 갖는 사이트일지도 모른다. 이런 경우 과거 URL로 즐겨찾기한 방문자는 제대로 원하는 곳으로 갈 수 없게된다. 이 글에서 우리는 의미없어 보이는 URL을 의미있는(meangingful), 기억하기 쉬운(memorable) URL로 간단히 작성하는 URL재작성을 사용하는 것을 살펴볼 것이다. 즉, 이전의..
Web Application 빌드와 배포 김영욱님의 블로그(UX엔지니어)의 동영상 강좌를 보고 정리한 내용입니다. 1. 개발시에는 Debug로 빌드, 배포시에는 Release로 빌드 후 배포 Debug로 빌드시 Debug 정보를 닮고있는 .pdb 파일이 생성되고 Release로 빌드시 Debug시 필요한 정보들을 제거함으로써 용량을 줄여 성능향상에 도움이 된다. 2. Web.config도 수정해 줘야함 true일 경우는 Debug 모드이고 false는 Release 모드 임 3. AssemblyInfo file 을 이용하여 DLL파일 정보 및 버전을 관리하는게 좋음 4. Web Application Configuration 아래 설정파일들로 환경 설정 가능(상위부터 상속됨) Windows\Microsoft.NET\Framework\version..
Error Handling 방법 김영욱님의 블로그(UX엔지니어)에 있는 동영상 강좌를 보고 정리한 내용입니다. 1. try, catch, finally catch는 여러개 존재가능하다. 그러므로 catch는 상세한 에러부터 명시하여 처리하며 점점 영역을 넓혀가면서 처리하도록 한다. 2. throw 특정 상황에서 예외를 임의적으로 발생 시킬 수 있다. ex) throw(new ArgumentNummExeception()); 3. User define exception 사용자가 정의한 예외도 발생 시켜서 처리 할 수 있다. ApplicationException() ApplicationException(string message) ex) Throw new ApplicationException("0을 입력했습니다."); protected vo..
COM+와 분산 트랜잭션의 이해 엔터프라이즈급 솔루션을 설계하기 위해서 반드시 알고 있어야 하며 닷넷 프로젝트 설계에 있어서 기본적으로 알고 있어야 하는 개념인 분산 트랜잭션의 개념과 COM+의 개념을 집중 해부 해보고자 한다. 이 글을 읽는 독자는 닷넷과 트랜잭션의 개념은 이미 알고 있다고 가정아래 썰을 풀도록 하겠다. MTS(Microsoft Transaction Server)의 이해 분산 트랜잭션에 대한 이야기를 다루기 전에 10년 전 과거로 올라가 보고자 한다. 마이크로소프트는 엔터프라이즈급 규모로 확장 가능한 서버 애플리케이션 개발 환경을 지원하기 위해 마이크로소프트 트랜잭션 서버(MTS)를 1996년에 만들어 발표하였다. MTS는 COM과 DCOM으로 개발된 기업용 어플리케이션 시스템을 위한 실행 환경을 가지고 있고 무엇보다..
닷넷 가비지 컬렉터의 동작원리 흔히 닷넷기반의 환경을 관리되는(Managed) 환경으로 부르곤 한다. 그렇다면 도대체 무엇이 관리가 된다는 것인가? 그 관리의 주체는 바로 메모리이다. 이전 Native 시대에는 메모리를 할당하고 해제하는 부분을 개발자가 직접 처리하였지만 닷넷은 그 부분을 자동으로 관리해주는 것이다. 닷넷이 관리되는 환경의 수행이 가능할 수 있는 것은 바로 “가비지 컬렉터(Garbage Collector)”가 닷넷에 존재하기 때문이다. 관리환경의 장점을 최대한 활용하고 사용하기 위해서는 가비지 컬렉터에 대해서 잘 알아 두어야 하고 동작원리를 파악하고 있어야 한다. 필자는 가비지 컬렉터의 원리에 대한 내용을 2002년도 “Chappell의 .NET 여행”이라는 책에서 처음 접했었고, 이 내용은 닷넷의 메모리 관리를 이해..