본문 바로가기

2017/03

[ASP.NET] LoginName 사용자가 웹서비스에 로그인을 했을때 해당 사용자의 이름을 표시하는 컨트롤입니다. 만약 로그인이름에 특정 메세지내용을 추가하고 싶다면 FormatString속성을 사용합니다. {0}안에는 자동으로 사용자이름이 매핑됩니다. 아예 아무런 내용도 표시하고 싶지않다면 그냥 FormatString속성을 공백으로 놔두면 됩니다. 더보기
[ASP.NET] 세션(Session) HTTP는 비연결 프로토콜입니다. 클라이언트(정확하게는 웹 브라우저)가 서버에 특정 처리를 요청하고 나면 서버에서 그에 맞는 응답을 해주는 것으로 끝납니다. 연결이 계속해서 유지되어야 하는 FTP와는 다른것입니다. 이러한 HTTP통신 방식으로 인해 클라이언트가 어떤 데이터를 서버에 요청을 할때마다 서버는 어떻게 해서든 이 사용자가 누구인가 혹은 어떤 데이터를 다루고자 하는가를 구분해야할 필요가 있습니다. 이럴 때 세션(Session)이 사용될 수 있습니다. 다만 세션은 사용자를 구분하기 위한 유일한 방법이 아닙니다. 그저 사용자를 구분하는 방법중 '하나'에 해당할 뿐입니다. 세션은 쿠키와 비교될 수 있습니다. 쿠키는 클라이언트에 저장되는 반면 세션은 서버에서 저장되고 관리됩니다. 쿠키보다 훨씬 보안적으로.. 더보기
[ASP.NET] EntityFramework(엔티티프레임워크) EntityFramework(엔티티프레임워크)를 간단하게 설명하면 기존의 애플리케이션이 DB데이터와 통신하기 위해 쿼리등을 통하여 데이터를 조회하고 저장하는 방식에서 발전해 DB의 각 테이블을 각각의 객체개념으로 매핑하여 객체의 내부요소(데이터)를 조회하거나 저장처리할 수 있도록 하는 개념입니다. 데이터를 객체화하여 다룰 수 있다는 것은 Visual Studio에서의 코딩이 가능하다는 것을 의미하고 이것은 인텔리센스기능지원이나 디버깅등에서의 작업능률 향상을 의미하기도 합니다. 엔티티프레임워크를 사용해 보기 전에 우선 대상이될 DB서버에 tmp라는 이름의 데이터베이스를 생성하고 user_list와 user_address라는 테이블을 만듭니다. 물론 테스트를 위해서는 적절한 데이터도 입력이 되어야 할것입니다.. 더보기
ASP.NET 성능 카운터 보통 서버환경에서 서버나 프로그램에 관한 모니터링에 관리 도구에 있는 성능카운터를 활용합니다. 서버에 ASP.NET등으로 웹 프로그램을 운용한다면 다음과 같이 ASP.NET에 적용되는 성능카운터등을 확인할 수 있습니다. Application Restarts 서버가 동작하는 동안 프로그램이 재시작된 횟수 Application Running 현재 동작중인 프로그램 수 Audit Failure Events Raised 프로그램 감사 실패 횟수 Audit Success Events Raised 프로그램 감사 성공 횟수 Error Events Raised 프로그램이 발생시킨 오류 이벤트 횟수 Infrastructure Error Events Raised HTTP 오류 이벤트 횟수 Request Error Even.. 더보기
[ASP.NET] 설정파일 - 2 ASP.NET에서는 machine.config나 web.config파일에 대해 프로그래밍으로 직접 설정내용을 읽거나 추가/수정이 가능한 API를 제공하고 있습니다. 이들 API들은 System.Configuration 네임스페이스 아래에 있으며 사용할 수 있는 클래스로는 다음과 같은 것들이 있습니다. AppSettingsSection 요소 ConnectionStringsSettings 요소 ProtectedConfigurationSection 요소 ProtectedDataSection 요소 AuthenticationSection 요소 AuthorizationSection 요소 CompilationSection 요소 CustomErrorsSection 요소 FormsAuthenticationConfigur.. 더보기
[ASP.NET] 서버 컨트롤 - 8 (디자인) 특정 페이지에 ListBox와 같은 컨트롤을 배치하고 Design화면을 보면 다음과 같이 컨트롤을 디자인 할 수 있는 화면을 볼 수 있습니다. 컨트롤을 직접 작성하는 경우 이와 같은 기능을 구현하기 위해서는 우선 컨트롤을 직접 디자인할 수 있도록 하는 컨트롤디자이너를 생성해야 합니다. public class WebCustomControl1ControlDesigner : CompositeControlDesigner 컨트롤 디자이너는 CompositeControlDesigner 추상클래스를 상속받도록 합니다. 우선 컨트롤 디자이너는 클래스형태만 만들어둡니다. [Designer(typeof(WebCustomControl1ControlDesigner))] [ToolboxData("")] public class .. 더보기