본문 바로가기

ASP.NET

[ASP.NET] WaitHandle 이 클래스는 일부 혹은 전체 비동기 프로세스가 끝날때 까지 대기하는등 여러 목적을 위한 추상클래스입니다. 하나 이상의 데이터베이스 비동기 명령을 처리하려는 경우 각 비동기 프로세스를 위한 대기 핸들을 포함하는 배열을 생성할 수 있으며 WaitHandle 클래스의 정적 메소드를 사용함으로서 전체나 혹은 일부 배열에서의 대기 핸들을 프로세스가 완료될때가지 실행할 수 있습니다. 다음은 WaitHandle 클래스가 가지고 있는 대략적인 메소드 목록입니다. WaitOne 이 메소드는 단독 비동기 프로세스가 완료되거나 타임아웃에 걸릴때까지 대기하는 메소드입니다. 프로세스가 성공적으로 완료되면 True 를 타임아웃에 걸리는등의 실패에는 False 값을 가지는 Boolean 형의 값을 반환합니다. WaitOne (mi.. 더보기
[ASP.NET] SqlCommand ADO 등 ADO.NET 이전버전에서 Data 를 처리할때 방식은 다음 명령이 실행되기 위해 이전 명령이 처리완료될때까지 대기하는 순차적인 처리방식이었습니다. 그러나 ADO.NET 2.0 이래 사용자들은 데이터베이스 명령을 비동기적으로 처리할 수 있게 되었습니다. 이것은 애플리케이션이 처리완료까지 대기할 필요없이 다음 명령을 실행할 수 있다는 것을 의미하며 특히 서로 종속되지 않는 다중 데이터소스에 접근시 유용하게 대응할 수 있는 방안을 제시합니다. SqlCommand SqlCommand 클래스에서 지원하는 비동기 메소드는 아래와 같습니다. Method 설명 BeginExecuteNonQuery() 결과값을 반환하지 않는 쿼리를 비동기적으로 수행하는 메소드입니다. 메소드 처리 결과는 IAsyncResul.. 더보기
[ASP.NET] SqlParameter 데이터 베이스관련 프로그래밍 작업시 SQL 구문에서 Parameter 사용은 반드시 사용되어야 하는 필수사항은 아니지만 SQL injection 공격을 방어하는데 충분한 도움을 줄 수 있으므로 귀찮더라도 되도록 SqlParamter 사용을 권장합니다 . 실제작업시 SqlParamter 클래스의 인스턴스로서 생성되는 Parameter 는 이름, 값, 데이터형등의 필수정보 속성을 설정함으로서 사용됩니다. ParameterName Parameter 이름을 설정하거나 설정된 값을 가져옵니다. SqlDbType Paramter 값에 해당하는 SQL 데이터베이스의 데이터형을 설정하거나 설정된 값을 가져옵니다. Size Paramter 값의 크기를 설정하거나 설정된 값을 가져옵니다. Direction Input 혹은.. 더보기
[ASP.NET] ADO.NET 의 네임스페이스와 클래스 .NET Framework 은 ADO.NET 과 관련한 6개의 핵심 네임스페이스를 가지고 있습니다. 더불어 몇몇 데이터 공급자는 자기 자신만의 네임스페이스를 가질 수 있는데 예를 들어 SQL Server 를 대상으로하는 .NET 데이터 공급자를 System.Data.SqlClient 에 추가하는 등의 구현이 가능합니다. System.Data ADO.NET 의 가장 핵심이자 상위에 속하는 네임스페이스이며 데이터공급자에 의해 사용되는 클래스와 테이블, 행, 열및 데이터셋(DataSet)등을 표현하기 위한 클래스를 포함하고 있습니다. 또한 여기에는 .NET 의 관리공급자에 의해 사용되며 ADO.NET 와 연결하기 위한 IDbCommand, IDbConnection, IDbDataAdapter 등의 인터페이스를.. 더보기
[ASP.NET] LinkButton LinkButton 은 대부분의 사용방법이 Button과 동일하며 작동 방식도 같습니다. 주요 속성/이벤트링크버튼 더보기
[ASP.NET] DataReader DataReader 는 정방향 읽기전용 커서로서 데이터 소스로의 실제연결이 이루어진 상태에서 결과집합의 전체나 혹은 특정부분을 순환하는데 가장 성능이 좋은 것으로 알려져 있습니다. 다만 DataReader 객체는 데이터 순환이 완료되는 시점에서 Close 메소드를 통한 데이터 소스로의 연결해제가 필요하며 그렇지 않으면 서버의 연결자원을 낭비하는 결과를 가져오게 됩니다. 연결을 닫는 첫번째 절차는 Command 객체의 Execute 메소드를 호출할때 특정 특정 파라메터를 붙여 주는 방법입니다. 파라메터 값은 CommandBehavior.CloseConnection 열거값이며 이것은 DataReader 를 통해 데이터를 순환하다가 끝에 도달하는 경우 자동적으로 연결을 Close 하도록 처리할 수 있습니다. .. 더보기
[ASP.NET] 인라인 데이터 바인딩 구문 ASP.NET 은 인라인에서 데이터를 바인딩 하기 위한 특정한 구문을 제공합니다. GridView 와 같은 컨트롤에서는 데이터소스만 지정해 주면 알아서 바인딩을 처리하지만 그렇지 못할 상황에서는 개발자가 임의로 어떤 데이터를 바인딩하면 좋을지 지정해 줄 필요가 있습니다. 예를 들어 Repeater 와 같은 컨트롤을 사용한다고 했을때 Repeater 는 자체적으로 아무것도 표시하지 않은 템플릿 컨트롤로서 내부 컨텐츠를 직접 정의해야 합니다. 만약 Repeater 에 SqlDataSource 를 지정했다면 내부적으로 어떤 데이터를 바인딩 해야 하는지 다음과 같은 방법으로 구현해야 하는 것입니다. 위 예제에서 사용된 Eval 메소드는 데이터소스로 부터 가져올 특정 Item 을 지정하여 해당 영역에 표시할 수 .. 더보기
[ASP.NET] LinqDataSource - 생성및 바인딩 SQL 데이터베이스에 직접적으로 연결하여 쿼리를 처리하는 SqlDataSource 컨트롤과는 달리 LinqDataSource 는 대상이 되는 DB 데이터를 객체화 하여 LINQ 를 통해 처리할 수 있도록 하는 컨트롤입니다. LinqDataSource 컨트롤을 사용하기 전에 우선 LINQ to SQL 을 통해 다루고자 하는 데이터의 Data Context 클래스를 생성하여야 합니다. 프로젝트에서 마우스 오른쪽 버튼을 눌러 Add -> New Item 을 선택합니다. Add New Item 화면에서 왼쪽 Data 카테고리를 선택하고 오른쪽 LINQ to SQL Classes 항목을 선택한 뒤 Add 버튼을 눌러줍니다. 이때 이름(Name)은 원하는대로 지정해도 됩니다. 위 단계를 거치고 나면 프로젝트에 .d.. 더보기