본문 바로가기

C#

(14)
SQL 캐시 종속성과 WebUserControl을 이용한 캐싱 방법 목표 페이지 내에서 SQL SERVER의 특정 테이블의 내용이 변경될 때만 해당 테이블을 표현하는 컨트롤을 다시 파싱하여 읽고 싶다. 이외의 다른 컨트롤들은 테이블 변경과 상관없이 다시 파싱하게 한다. 준비 사용하는 데이터베이스가 캐싱이 가능하게 만들어 줘야한다. web.config에 캐싱 관련 코드를 입력해야한다. 1. 데이터베이스가 캐싱이 가능하게 등록 Visual Studio 2005 Command Prompt에서 다음과 같이 입력 ==== DB를 캐싱 가능하게 등록 ==== aspnet_regsql -S "." -U "UserID" -P "UserPassword" -d "DBName" -ed >> DB에 AspNet_SqlCacheTablesForChangeNotification 테이블이 생성됨 ..
파일 업로드 소스 주의 : FileUpload 컴퍼넌트 추가 후 사용 참고 : 같은 이름의 파일이 존재할 경우 "filename_x.ext" 형식으로 파일을 업로드 함 ========= 파일 업로드 ========== if (FileUpload1.HasFile) { string upDir = "E:\\Study\\Web\\EmsClient\\Upload\\"; DirectoryInfo di = new DirectoryInfo(upDir); if (!di.Exists) di.Create(); string fName = FileUpload1.FileName; string fFullName = upDir + fName; FileInfo fInfo = new FileInfo(fFullName); if (fInfo.Exists) ..
파일 이름 검색, 변경 및 삭제 ===== 파일 이름 변경 및 삭제 ==== string upDir = "E:\\Upload\\"; string fileName = upDir + ListBox1.SelectedItem.Text; string newName = upDir + TXT_RENAME.Text; FileInfo fi = new FileInfo(fileName); fi.MoveTo(newName); // 이름 변경 fi.Delete(); // 파일 삭제 ===== 파일 검색 ===== string upDir = "E:\\Upload\\"; DirectoryInfo di = new DirectoryInfo(upDir); FileInfo[] fiArr = di.GetFiles(); foreach (FileInfo fri in fiAr..
Master Page 사용하기 [xxx.master] 컨텐츠가 들어갈 부분에 다음과 같은 코드 삽입 [yyy.aspx] 상단 부분에 다음 코드 삽입 본문에 다음 코드로 시작 Page Start!! 위와 같이 사용하면 aspx 컨텐츠가 master 페이지의 컨텐츠 삽입 부분에 들어가 페이지를 완성 시켜준다. ================================================================================ - Content 페이지에서 Master 페이지에 있는 컨트롤 접근 방법 ControlIdType tempId = (ControlIdType)Master.FindControl("CONTROL ID");
c#에서 배열을 참조로 넘기기 C를 하다 C#을 하니 다른점이 많다. 지금 다룰 배열도 그 한가지인데 C에서는 포인터로 넘겨버리면 되었지만 여기선 'ref' 를 쓴다. ref를 빼먹으면 단순 배열 복사가 이루어진다. byte[] cmd_tmp; CvtStructToBin(test_struct, ref cmd_tmp); public int CvtStructToBin(object obj, ref byte[] bin) { int length = Marshal.SizeOf(obj); IntPtr cmd_ptr; cmd_ptr = Marshal.AllocHGlobal(length); bin = new byte[length]; Marshal.StructureToPtr(test_struct, cmd_ptr, true); Marshal.Copy(c..
C#에서 고정 크기 구조체 사용과 바이트 배열로 형 변환 public struct Test_Struct_t { public byte var1; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] public char[] str; // (1) //public char[] str; // (2) } public class AP_DB_Cmd_Box : AP_DB_Common { // protected members Test_Struct_t test_struct; int length; byte[] cmd_tmp; IntPtr cmd_ptr; public AP_DB_Cmd_Box() : base() { test_struct.str = new char[10]; // 꼭 해줘야한다. 안그럼 아래에서 에러 test_struct.va..