'.NET/C#'에 해당되는 글 50건

  1. 2011/11/04 volatile(C# 참조)
  2. 2011/09/08 Win32 to .NET Framework API MAP
  3. 2011/08/17 Visual Studio - Windows Service Build Event
  4. 2011/07/07 Hooking on C#
  5. 2011/04/14 C# SMTP Send use GMAIL
  6. 2011/03/29 C# - Diroctory Copy (Recursive method)
  7. 2011/03/27 Q&A - Send a None exist email with SmtpClient(C#)
  8. 2011/02/25 C# 'this' keyword - Extension Method
  9. 2010/11/01 Last.fm API and Facebook API for .NET
  10. 2009/10/21 Windows Service Debugging
2011/11/04 10:38

volatile(C# 참조)


SingleTone Pattern을 적용하기 위해 volatile이란 키워드가 있는걸 알게 되었습니다.
목적에 맞는 코딩이 중요하니깐 꼭 알아둬야겠네요..


volatile(C# 참조)

 
volatile 키워드는 동시에 실행 중인 여러 스레드에 의해 필드가 수정될 수 있음을 나타냅니다. volatile로 선언된 필드에는 단일 스레드를 통한 액세스를 전제로 하는 컴파일러 최적화가 적용되지 않습니다. 이렇게 하면 필드의 값을 항상 최신 상태로 유지할 수 있습니다.

일반적으로 volatile 한정자는 액세스를 serialize할 때 lock 문(C# 참조) 문을 사용하지 않고 여러 스레드에서 액세스하는 필드에 사용됩니다. 다중 스레드 시나리오에서 volatile을 사용하는 방법의 예제는 방법: 스레드 만들기 및 종료(C# 프로그래밍 가이드)를 참조하십시오.

volatile 키워드는 다음과 같은 형식의 필드에 적용할 수 있습니다.

  • 참조 형식

  • 안전하지 않은 컨텍스트의 포인터 형식 포인터 자체는 volatile일 수 있는 반면 포인터가 가리키는 개체는 volatile일 수 없습니다. 즉, "volatile 개체에 대한 포인터"를 선언할 수 없습니다.

  • sbyte, byte, short, ushort, int, uint, char, float 및 bool 같은 정수 계열 형식

  • 정수 계열 형식을 기반으로 한 열거형

  • 참조 형식으로 알려진 제네릭 형식 매개 변수

  • IntPtrUIntPtr

volatile 키워드는 클래스 또는 구조체의 필드에만 적용할 수 있습니다. 로컬 변수는 volatile로 선언할 수 없습니다.

다음 예제에서는 공용 필드 변수를 volatile로 선언하는 방법을 보여 줍니다.

// csharp_volatile.cs
// compile with: /target:library
class Test
{
   public volatile int i;

   Test(int _i)
   {
      i = _i;
   }
}

자세한 내용은 C# 언어 사양의 다음 단원을 참조하십시오.

  • 3.10 실행 순서

  • 10.4.3 Volatile 필드

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.NET > C#' 카테고리의 다른 글

volatile(C# 참조)  (0) 2011/11/04
Win32 to .NET Framework API MAP  (0) 2011/09/08
Visual Studio - Windows Service Build Event  (0) 2011/08/17
Hooking on C#  (0) 2011/07/07
C# SMTP Send use GMAIL  (0) 2011/04/14
C# - Diroctory Copy (Recursive method)  (0) 2011/03/29
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/724 관련글 쓰기

2011/09/08 10:25

Win32 to .NET Framework API MAP



Win32 to .NET Framework API MAP
http://msdn.microsoft.com/ko-kr/library/aa302340(en-us).aspx




자주 사용하지는 않지만 필요할때는 꼭 기억이 안나는군요 =ㅅ =;;

참고하세요.

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.NET > C#' 카테고리의 다른 글

volatile(C# 참조)  (0) 2011/11/04
Win32 to .NET Framework API MAP  (0) 2011/09/08
Visual Studio - Windows Service Build Event  (0) 2011/08/17
Hooking on C#  (0) 2011/07/07
C# SMTP Send use GMAIL  (0) 2011/04/14
C# - Diroctory Copy (Recursive method)  (0) 2011/03/29
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/702 관련글 쓰기

2011/08/17 09:49

Visual Studio - Windows Service Build Event



Windows Service 형태의 프로젝트 빌드 시

서비스가 실행중이어서 빌드가 되지 않는 경우가 생긴다.


이런 경우 미리 빌드 이벤트를 캡쳐 화면과 같이

NET STOP 서비스명

명령어로 중지시킨 후 빌드 완료 후 다시 시작하도록
 
빌드 이벤트를 지정하면 된다.
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.NET > C#' 카테고리의 다른 글

volatile(C# 참조)  (0) 2011/11/04
Win32 to .NET Framework API MAP  (0) 2011/09/08
Visual Studio - Windows Service Build Event  (0) 2011/08/17
Hooking on C#  (0) 2011/07/07
C# SMTP Send use GMAIL  (0) 2011/04/14
C# - Diroctory Copy (Recursive method)  (0) 2011/03/29
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/699 관련글 쓰기

2011/07/07 11:20

Hooking on C#




C#에서 Global hooking은 .NET Framework 차원에서 지원하지 않는다고 합니다.

그러나, WH_KEYBOARD_LL 과 WH_MOUSE_LL hooking의 global hook이 가능하다고 하네요.

참고할만한 사이트..

ex) 1. How to set a Windows hook in Visual C# .NET 

      2. Processing Global Mouse and Keyboard Hooks in C# 

      3. Using Hooks from C#



저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.NET > C#' 카테고리의 다른 글

Win32 to .NET Framework API MAP  (0) 2011/09/08
Visual Studio - Windows Service Build Event  (0) 2011/08/17
Hooking on C#  (0) 2011/07/07
C# SMTP Send use GMAIL  (0) 2011/04/14
C# - Diroctory Copy (Recursive method)  (0) 2011/03/29
Q&A - Send a None exist email with SmtpClient(C#)  (0) 2011/03/27
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/686 관련글 쓰기

2011/04/14 21:57

C# SMTP Send use GMAIL






Gmail을 사용해 SMTP 발송합니다.

Gmail은 smtp.gmail.com의 호스트와 EnableSsl true 설정으로 587 포트로

자신의 id, password를 networkcredential을 생성해서 발송하면 됩니다.


첨부된 프로젝트에서 코드를 확인하실 수 있습니다.

프로젝트의 Property에 Settings에 자신의 메일주소, id, password를 설정한 후 사용할 수 있어요.

(Visual Studio 2010)



저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.NET > C#' 카테고리의 다른 글

Visual Studio - Windows Service Build Event  (0) 2011/08/17
Hooking on C#  (0) 2011/07/07
C# SMTP Send use GMAIL  (0) 2011/04/14
C# - Diroctory Copy (Recursive method)  (0) 2011/03/29
Q&A - Send a None exist email with SmtpClient(C#)  (0) 2011/03/27
C# 'this' keyword - Extension Method  (0) 2011/02/25
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/669 관련글 쓰기

2011/03/29 01:28

C# - Diroctory Copy (Recursive method)

 

 

http://www.codeproject.com/KB/files/copydirectoriesrecursive.aspx


Directory.Copy 로는 쉽게 복사가 되지 않는데 위 재귀 방법으로 구현하면 되겠네요.

너무 글이 짧은가;; ㅋㅋ


저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.NET > C#' 카테고리의 다른 글

Hooking on C#  (0) 2011/07/07
C# SMTP Send use GMAIL  (0) 2011/04/14
C# - Diroctory Copy (Recursive method)  (0) 2011/03/29
Q&A - Send a None exist email with SmtpClient(C#)  (0) 2011/03/27
C# 'this' keyword - Extension Method  (0) 2011/02/25
Last.fm API and Facebook API for .NET  (0) 2010/11/01
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/659 관련글 쓰기

2011/03/27 03:00

Q&A - Send a None exist email with SmtpClient(C#)


http://hoons.kr/Board.aspx?Name=QACSHAP&Mode=2&BoardIdx=42400  

Q
uestion

안녕하세요

웹에서 메일을 발송할때 SmtpCilent 를 사용해서 메일을 발송하는데요~

만약 받는 메일 주소가 잘못된 주소여서 전송이 안 됐을때 로그를 남기려고 합니다.
 
근데 SmtpFailedRecipientsException 이 부분에선 잡히지가 않는거 같아서요...

없는 메일주소로 발송을 해보면... 큐에 잠깐 들어갔다가 배드 메일로 빠지고 아무런 오류도 남질 않습니다.

회원들중에 잘못된 메일 주소를 등록한 회원이라면 메일주소를 초기화 시켜주려고 하는데요

어떻게 로그를 남길 방법이 없을까요?

해결 방법이 있으면 조언좀 부탁드립니다!!

수고하세요^^





Answer

일단 발생하는 시차가 생기는데요.

발송 시 오류는 프로그램에서 Catch가 될 텐데

발송 후 오류는 프로그램에서 잡지 못할 수 있어요. (예: 메일주소 틀린경우, 메일 박스 꽉찬 경우 등)

익셉션의 ex.StatusCode 가 MailboxBusy일 때는 몇 초 후 다시 보내면 되는데,

그 외에는 오류 로그로 남겨서 찾아보시면 될 것 같네요.



참고 URL : http://hanssens.org/post/SmtpFailedRecipientsException-Catch-undeliverable-mail.aspx


저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.NET > C#' 카테고리의 다른 글

C# SMTP Send use GMAIL  (0) 2011/04/14
C# - Diroctory Copy (Recursive method)  (0) 2011/03/29
Q&A - Send a None exist email with SmtpClient(C#)  (0) 2011/03/27
C# 'this' keyword - Extension Method  (0) 2011/02/25
Last.fm API and Facebook API for .NET  (0) 2010/11/01
Windows Service Debugging  (0) 2009/10/21
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/658 관련글 쓰기

2011/02/25 09:53

C# 'this' keyword - Extension Method


(* over .NET Framework 3.5)

ref url. http://weblogs.asp.net/scottgu/archive/2007/03/13/new-orcas-language-feature-extension-methods.aspx

this 키워드를 통해 기존에 존재하는 Object의 Static 메소드를 추가한 것 처럼 만들 수 있다.

public static class ScottGuExtensions
{
    
public static bool IsValidEmailAddress(this string s)
    {
        Regex regex 
= new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$");
        return 
regex.IsMatch(s);
    
}
}




스캇 구슬희 형님의 VS에서 인텔리센스 되는 모습..

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.NET > C#' 카테고리의 다른 글

C# - Diroctory Copy (Recursive method)  (0) 2011/03/29
Q&A - Send a None exist email with SmtpClient(C#)  (0) 2011/03/27
C# 'this' keyword - Extension Method  (0) 2011/02/25
Last.fm API and Facebook API for .NET  (0) 2010/11/01
Windows Service Debugging  (0) 2009/10/21
Unicode 한글 코드 표  (0) 2009/09/27
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/644 관련글 쓰기

2010/11/01 12:49

Last.fm API and Facebook API for .NET

Last.fm : http://lastfmlibnet.sourceforge.net/
Facebook : http://facebooktoolkit.codeplex.com/
Facebook(C#) : http://github.com/facebook/csharp-sdk
Facebook(MSDN) : http://msdn.microsoft.com/en-us/windows/ee388574.aspx

알아뒀다가 써먹어야지 ㅇㅅㅇ
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'.NET > C#' 카테고리의 다른 글

Q&A - Send a None exist email with SmtpClient(C#)  (0) 2011/03/27
C# 'this' keyword - Extension Method  (0) 2011/02/25
Last.fm API and Facebook API for .NET  (0) 2010/11/01
Windows Service Debugging  (0) 2009/10/21
Unicode 한글 코드 표  (0) 2009/09/27
C# : Unit Class - File Size  (0) 2009/05/14
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/620 관련글 쓰기

2009/10/21 11:49

Windows Service Debugging



일반적으로 Visual Studio의 Process Attach를 이용해서 Windows Service를 디버깅하지요.

코드에 아래와 같이 디버그 모드 일 때 Debugger 선택 화면을 보도록 할 수 있습니다.
 

#if DEBUG

      System.Diagnostics.Debugger.Launch();

#endif 


위 코드를 OnStart() 메소드에 넣어주시면 될 것 같네요.


참~ 쉽죠잉~


자세한 내용은 아래 링크를 확인해보세요~

http://weblogs.asp.net/paulballard/archive/2005/07/12/419175.aspx

저작자 표시 비영리 변경 금지
이 장소를 Daum지도에서 확인해보세요.
서울특별시 마포구 상암동 | KBS미디어센터 한국해양수산개발원
도움말 Daum 지도
크리에이티브 커먼즈 라이선스
Creative Commons License

'.NET > C#' 카테고리의 다른 글

C# 'this' keyword - Extension Method  (0) 2011/02/25
Last.fm API and Facebook API for .NET  (0) 2010/11/01
Windows Service Debugging  (0) 2009/10/21
Unicode 한글 코드 표  (0) 2009/09/27
C# : Unit Class - File Size  (0) 2009/05/14
Memory usage of current thread on C# windows form app.  (0) 2009/04/23
올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼


이 포스팅이 도움이 되었다면 구글에서 관련 정보를 찾아 보세요 ^^


Trackback 0 Comment 0

Trackback : http://i-ruru.com/trackback/527 관련글 쓰기