분류 전체보기

VS.NET 2003을 이용하여 ASP.NET 코딩을 하던 중 Javascript 파일을 외부 두고 링크를 시켰다. 그런데 ASPX 파일 내부에서는 정상적으로 표시되던 경고창 메시지가 깨져서 출력이 되는게 아닌가? 순간 인코딩 사고구나하는 생각에 VS.NET 2003의 환경설정에서 Plain Text 편집기의 인코딩 지정하는 부분이 있는지 살펴봤다. 아무리 뒤져도 안나오길래 설마하는 마음으로 구글링해보니 저장할 때 [파일]-[저장 고급 옵션] 메뉴를 이용해서 JS파일이나 HTML, CSS 파일 등 정적 컨텐츠 파일의 인코딩을 지정할 수 있었다. 참고로 내가 작업하는 웹사이트의 기본 인코딩은 'UTF-8'이다. 만일 인코딩이 'EUC-KR'이었다면 상관없었겠지만 인터넷 웹사이트의 표준 인코딩으로 자리잡은 'UTF-8'의 경우는 반드시 염두에 두어야 할 설정이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System.Web.Mail;
 
public static bool sendMail(Message message)
 {
   bool result = false;
 
   MailMessage oMsg = new MailMessage();
   try
   {
    try
    {
     oMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver""smtp.gmail.com");
     oMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport"465);
     oMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing"2);
     oMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"1);
     oMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl"true);
     oMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername""userid@gmail.com");
     oMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword""passoword");
 
     // Debug
     oMsg.To = "anynone@domain.com";
     oMsg.From = "userid@gmail.com";
     oMsg.Subject = "Test mail";
     oMsg.BodyFormat = MailFormat.Text;
     oMsg.Priority = MailPriority.High;
     oMsg.Body = "This is a test message.";
 
     System.Console.WriteLine(oMsg.To);
     System.Console.WriteLine(oMsg.From);
     System.Console.WriteLine(oMsg.Subject);
     System.Console.WriteLine(oMsg.Body);
    
     try
     {
      SmtpMail.SmtpServer = "smtp.gmail.com";
      SmtpMail.Send(oMsg);
 
      result = true;
     }
     catch (System.Web.HttpException exp)
     {
      result = false;
      System.Console.WriteLine("{0}", exp.Message);
      System.Console.WriteLine("Here is the full message output.");
      System.Console.WriteLine("{0}", exp.ToString());
     }
    }
    catch (System.IndexOutOfRangeException)
    {
     result = false;
     System.Console.WriteLine("Usage error.");
    }
   }
   catch (System.Exception exp)
   {
    result = false;
    System.Console.WriteLine("Unknown Exception occurred {0}.", exp.Message);
    System.Console.WriteLine("Here is the full message output.");
    System.Console.WriteLine("{0}", exp.ToString());
   }
 
 
   return result;
}
cs


using System.Net.Mail;

Mail mail = new Mail();
MailMessage message = new MailMessage();
message.To.Add(email);
message.From = new MailAddress("userid@gmail.com");
message.Subject = "Test mail";
message.IsBodyHtml = false;
message.Body = "This is a test message.";

public bool sendMail(MailMessage message)
 {
            SmtpClient smtp = new SmtpClient();
            bool result = true;

            try
            {
                smtp.Host = "smtp.gmail.com";
                smtp.Port = 587;
                smtp.EnableSsl = true;
                smtp.UseDefaultCredentials = true;
                smtp.Credentials = new System.Net.NetworkCredential("userid@gmail.com", "password");
                smtp.Send(message);
            }
            catch (Exception exp)
            {
                result = false;
            }

            return result;
}


MS-SQL 2005/2008을 위한 SHA256.512 함수 추가

 

http://www.innoya.com/Tools/fnEnCryptSHA.aspx

 

정보시스템 보안 기준을 충족하기 위해서는 보안강도 112비트 이상을 지원하는 SHA-224/256/384/512 알고리즘을 사용해야 한다.(안정성 유지기간 2030년까지) MS-SQL에서 지원하는 HASHBYTES 함수는 2012버전부터 SHA-256/512를 지원하며 2008 R2 이하 버전은 SHA-1까지만 지원한다.(보안강도 112비트 안정성 유지기간 2010년 종료)

 

알고리즘을 찾아서 함수를 만느는 방법과 프로그래밍 언어로 DLL을 생성하여 추가하는 방법을 고려하였으나 다행히 인터넷을 통해 DLL로 구현된 함수를 활용할 수 있었다. 생각보다 많은 사용자를 확보하고 있는 모양이다.

 프레임워크 버전

 C# 버전

 비주얼스튜디오 버전

 .NET Framework 1.0

 C# 1.0

 Visual Studio .NET

 .NET Framework 2.0

 C# 1.1

 Visual Studio .NET 2003

 .NET Framework 3.0

 C# 2.0

 Visual Studio 2005

 .NET Framework 3.5

 C# 2.0

 Visual Studio 2005 Extentions

 .NET Framework 3.5

 C# 3.0

 Visual Studio 2008

 .NET Framework 4.0

 C# 4.0

 Visual Studio 2010

 .NET Framework 4.5

 C# 5.0

 Visual Studio 2012

 

C# 버전별 지원 문법

 버전

 주요 문법

 C# 2.0

  • C# Generic
  • Anonymous Method
  • Nullable Type
  • Patial Type
  • C# yield 키워드
  • Deleagate에 대한 Covariance / Contravariance

 C# 3.0

  • ​Lambda Expression
  • Anonymous Type
  • Extension Method
  • C# var 키워드 (implicit type)
  • LINQ
  • Expression Tree

 C# 4.0

  • ​C# dynamic (Late binding)
  • Named Argument
  • Optional Argument
  • Indexed Property

 C# 5.0

  • C# async / await
  • Caller Information

 


+ Recent posts