예전 글들/.NET, C#
-
트랜잭션 완성하기 - 데이터 액세스 할때 좀 더 안정성을 높이려면 이런 구조가 좋을 듯예전 글들/.NET, C# 2010. 10. 28. 12:18
// 연결을 생성하고 데이터베이스를 연다. SqlConnection conn = new SqlConnection(sConnString); conn.Open(); SqlTransaction trans = conn.BeginTransaction(); try { // SQL 명령을 실행하거나 다른 데이터베이스 트랜젝션 실행 .... trans.Commit(); } catch (Exception e) { // 에러 처리, 로그, 레포팅 등등 ... trans.Rollback(); } finally { // 항상 연결을 닫아야 한다. conn.Close(); } 참고: PROGRAMMING MICROSOFT VISUAL C# .NET(정보문화사)
-
OLE(Object Linking and Embedding_객체 링크와 포함) 뜻이랍니다.예전 글들/.NET, C# 2010. 10. 25. 12:42
RichTextBox 컨트롤 중 RichTextBoxStreamType 열거값에 대한 개념을 공부하다가 희안한 단어가 나와있길래 찾아봤음. 객체 연결 삽입(OLE, Object Linking and Embedding) - 마이크로소프트가 개발한 기술로서 문서와 기타 객체에 연결과 삽입을 도와준다. 용어 사전에는 간단히 "윈도의 각종 응용 프로그램 사이에서 서로 데이터를 공유하는 기능"으로 정의하고 있다. - 개발자들에게는 OLE 사용자 지정 컨트롤(OCX)를 제공함으로써 사용자 지정 UI요소를 개발하고 사용할 수 있게 하고 있다. 기술적인 측면에서 OLE객체는 IOleObject 인터페이스를 갖고 있는 객체이며 객체의 요구에 따라 다양한 인터페이스를 포함하고 있을 수 있다. 참조: 위키피디아
-
[STAThread] 사용법 - MSDN 참조예전 글들/.NET, C# 2010. 10. 20. 13:16
규칙 STAThreadAttribute는 응용 프로그램에 대한 COM 스레딩 모델이 단일 스레드 아파트임을 나타냄. 이 특성은 Windows Forms을 사용하는 응용 프로그램의 진입점에 있어야 한다. 이 특성을 생략하면 Windows 구성 요소가 제대로 작동하지 안흘 수 있다. 이 특성이 없으면 응용 프로그램에서는 Windows Forms에 지원되지 않는 다중 스레드 아파트 모델을 사용 참고: 응용 프로그램 프레임워크를 사용하는 Visual Basic 프로젝트에서는 Main 메서드를 STAThread로 표시할 필요 없다. Visual Basic 컴파일러에서 이 작업을 자동으로 수행 사용 예) using System; using System.Windows.Forms; namespace UsageLibra..
-
HttpWebRequest.BeginGetResponse 메서드 - MSDN 참조예전 글들/.NET, C# 2010. 10. 15. 22:02
정의: 인터넷 리소스에 하는 비동기 요청을 시작 네임 스페이스: System.Net 어셈블리: System(system.dll) 구문: public override IAsyncResult BeginGetResponse( AsyncCallback callback, object state ) 매개 변수 1. callback: AsyncCallback 대리자 2. 반환 값: 응답에 대한 비동기 요청을 참조하는 IAsyncResult 설명 BeginGetResponse 메서드가 인터넷 리소스에서의 응답에 대한 비동기 요청을 시작. 비동기 콜백 메서드에서는 EndGetResponse 메서드를 사용하여 실제 WebResponse를 반환 WebException이 throw되면 예외의 Response 및 Status ..
-
lock() - 참고: MSDN 에서 복사~예전 글들/.NET, C# 2010. 10. 8. 14:02
사용 예제 Object thisLock = new Object(); lock(thisLock) { // Critical code Section. } lock 키워드를 사용하면 다른 스레드가 코드의 임계 영역에 있는 동안에는 특정 스레드가 임계 영역에 들어갈 수 없습니다. 다른 스레드가 잠긴 코드에 들어가려고 할 경우 개체가 해체될 때가지 대기합니다. lock 키워드는 블록의 시작 부분에서 Enter를 호출하고 블록의 끝 부분에서 Exit를 호출합니다. 일반적으로 코드에서 제어되지 않는 인스턴스나 public 형식은 잠그지 않는 것이 좋습니다. 1. lock(this) - 해당 인스턴스에 공용으로 액세스를 할 수 있는 경우 문제가 생김 2. lock(typeof(MyType)) - MyType에 공용으로 ..
-
Hashtable예전 글들/.NET, C# 2010. 9. 9. 13:57
해시 클래스가 상속받은 것들 [SerializableAttribute] [ComVisibleAttribute(true)] public class Hashtable : IDictionary, ICollection, IEnumerable, ISerializable, IDeserializationCallback, ICloneable Hashtable 클래스는 키의 해시 코드에 따라 구성되는 키/값 쌍의 컬렉션을 나타냄 Hashtable openWith = new Hashtable(); openWith.Add([object key], [object value]); // 이것만 봐도 알겠군 컬렉션에 저장된 키의 해시 코드에 따라 내부적으로 객체를 저장하는 방법을 통하여 이름을 얻는다. openWith.Contai..
-
foreach 가 뭔가요?예전 글들/.NET, C# 2010. 9. 1. 20:31
foreach 배열이나 개체 컬렉션에 있는 각 요소에 대해 포함 문 그룹을 반복하여 실행합니다. 1. 컬렉션을 반복 실행하여 원하는 정보를 얻을 수 있다. 2. 컬렉션의 내용을 변경하는 데 사용하면 의도하지 않은 결과가 발생합니다. 배열 또는 컬렉션의 각 요소에 대해 포함 문이 계속 실행됩니다. 컬렉션의 모든 요소에 대해 해당 문이 계속 실행된 후에 제어가 foreach 블록 다음 문으로 전달됩니다. foreach 블록의 모든 위치에서 break 키워드를 사용하여 루프를 벗어나거나 continue 키워드를 사용하여 루프의 다음 반복을 단계별로 실행할 수 있습니다. foreach 루프는 goto, return 또는 throw 문을 사용하여 종료할 수도 있습니다. 예제: // cs_foreach.cs cla..