얼마만에 포스팅인지..

11월 4일날 쓰던글을 오늘 마무리 짓는다.

반성.. 반성..

ㅇ. ASP.NET?
-> 웹 응용프로그램을 위한 웹 개발 플랫폼
-> 컴파일된 .NET 기반의 환경 (.NET과 호환되는 모든 언어를 이용)
-> 폼 기반의 웹응용프로그램
-> 웹서비스 (Http, XML)

-> ASP.NET 구조
Web Client > IIS > ASP.NET, .NET FrameWork


ㅇ. ASP.NET 웹 응용프로그램 작성

ㅇ. 웹 폼
-> ASP.NET 기술을 사용
-> 프로그램 가능한 웹 페이지
-> 코드와 페이지 디자인을 분리
-> WYSIWYG 편집
-> 정보를 표현 (모든 브라우져 지원, 비지니스로직은 서버단에 구현)
-> .NET 기반의 모든 언어를 이용 가능

-> 코드 모델
: 두가지 요소로 구성 (시각적인 부분과 코드)
: 화면 디자인은 HTML과 웹 폼 컨트롤로 구성 (.aspx 파일)
: 코드는 별도의 클래스 파일이나 .aspx 파일내에 존재

-> 웹폼 서버 컨트롤
: HTML 서버 컨트롤 (모든 브라우져 지원)
: ASP.NET 서버 컨트롤 (기타 고급 기능들)
: 검증을 위한 서버 컨트롤
: 사용자 컨트롤

ㅇ, 데이터 접근 방법
-> 기존에 asp에서 사용하던 방식과 동일
-> 개체 모델이 수정되었다. (ADO.NET)
-> 데이터베이스 사용
: SQLConnection
: SQLDataSetCommand
: DataSet
: DataWiew

: SQL~은 MS-SQL 7.0 이상버전에 사용
: ADO~는 OLEDB로 붙을수 있는 모든 데이터에 이용

ㅇ. 웹 서비스
-> 인터넷 프로토콜로 사용가능한 비지니스 로직
-> HTTP, XML을 이용한 데이터 교환
-> 모든 언어, 모든 컴포넌트 모델, 모든 플랫폼을 지원
-- Admin권한으로 원하는 테이블의 컬럼 정보를 확인한다.
SELECT a.OWNER, a.TABLE_NAME, a.COLUMN_NAME, b.COMMENTS,
a.data_type || '(' || a.data_length || ')' AS COLUMN_TYPE
FROM dba_tab_columns a, dba_col_comments b
WHERE a.owner = 'OPS$USR001'
AND a.table_name = 'tbUser'
AND b.owner = 'OPS$USR001'
AND b.table_name = 'tbUser'
AND a.owner = b.owner
AND a.table_name = b.table_name
AND a.column_name = b.column_name
;

--owner는 조회하고자 하는 테이블 정보의 소유자 정보를 넣으면 되고 table_name에서는 조회하고자 하는 테이블 명을 입력한다.


--user 권한으로 원하는 테이블의 컬럼 정보를 조회한다.
SELECT TABLE_NAME
, COLUMN_NAME
, Replace(COMMENTS,' ','')
FROM USER_COL_COMMENTS
WHERE TABLE_NAME = ''tbUser';

--로그인된 사용자가 소유한 테이블의 컬럼에 대한 정보를 조회한다.
ㅇ. 서비스 응용프로그램의 특징
-> 일반적인 응용프로그램과는 다르다.
-> 컴파일된 실행파일은 반드시 서버에 설치
-> 디버그 하거나 서비스 프로그램을 직접 실행시클수 없음
-> 서비스 응용프로그램을 위한 설치 프로그램을 만들어야함

ㅇ. 윈도우 서비스 프로그램의 작성
-> 윈두우 서비스 프로젝트 선택
-> 서비스 이름지정 (ServiceName 속성)
-> 속성에 대한 서비스 여부 결졍
: CanStop
: CanShupDown
: CanPauseAndContinue
: AutoLog

ㅇ. ServiceController
-> 기존에 설치되어 있는 서비스와 연결
-> 서비스 시작, 중지, 정지 등을 제어
-> ServiceController 컴포넌트 작성
: 도구상자에서 추가
: 코드안에서 ServiceController 클래스의 인스턴스를 만들어서 사용
: ServiceName (동작하는 서비스)
: MachineName ("."은 현재 머신.. 리모트 머신은 머신명 기입)

ㅇ. 서비스 프로그램의 시작
-> 서비스 클래스의 OnStart 메서드를 호출
-> InstallUtil.exe를 사용하여 서비스를 설치한 후 시작
-> 개발환경에서 시작할 경우 오류 메세지 표시

ㅇ. 서비스 정보 로깅
-> 응용프로그램 이벤트 로그에 정보를 기록
-> AutoLog 속성을 지정 (기본 : True)
-> EventLog 개체를 사용하여 정보와 오류를 기록
: EventLog.WriteEntry("String")
-> 이벤트 소스로 등록하지 않아도 됨
: EventLog.CreateEventSource()없이도 로그 사용

ㅇ. 서비스 프로그램 디버깅
-> 서비스 응용프로그램은 직접 디버깅이 안됨
-> 디버깅 방법
: 서빗르를 시작한다.
: 서비스가 동작하는 프로세스에 디버거를 붙인다.
: 다른 응용프로그램 처럼 디버깅 한다.

ㅇ. 설치 컴포넌트
-> 서비스의 디자인 모드를 선택하여 설치 컴포넌트를 추가(마우스 왼쪽클릭 팝업 메뉴)
-> Add Installer를 선택
: ProjectInstaller라는 클래스 추가
: ServiceProcessInstaller, ServiceInstallerX가 추가
-> 필요한 속성을 수정, 필요한 메서드 오버라이드

+ Recent posts