posted by 방랑군 2012. 1. 21. 21:36

[C# 으로 만든 DLL asp에서 사용]

- C#으로 만든 base64 암호화 및 복호화 함수 생성후 asp 에서 사용

- 파일 첨부함.

 

☞ C# 클래스라이브러리 프로젝트 생성 - ComPlusExample

 

 

☞ System.EnterpriseSevices 참조추가

 

☞ AssemblyInfo.cs 수정

[assembly: ComVisible(false)] 를 [assembly: ComVisible(true)]로 변경

 

 

☞ ComPlusClass 클래스 파일추가

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.EnterpriseServices;
[assembly: ApplicationName("ComPlusExample")]
[assembly: Description("Complus Assembly")]
[assembly: ApplicationActivation(ActivationOption.Server)]
[assembly: ApplicationAccessControl(false)]

namespace ComPlusExample
{
    [EventTrackingEnabled(true)]
    [Description("Interface Serviced Component")]
    public class ComPlusClass : ServicedComponent
    {
        public string Base64Encode(string str)
        {
            byte[] byt = System.Text.Encoding.UTF8.GetBytes(str);

            return Convert.ToBase64String(byt);
        }

        public string Base64Decode(string str)
        {
            byte[] byt = Convert.FromBase64String(str);

            return System.Text.Encoding.UTF8.GetString(byt);
        }
    }
}

 

 

☞  강력한 이름 키 만들기(프로젝트 오른클릭 속성클릭)

- 서명탭 -> 어셈블리 서명 체크 -> 새로만들기


 

- 키 파일 이름 : ComPlusExample -> 체크박스 해제 -> 확인

 

 

☞ 저장 및 빌드

 

 

☞ Visual Studio 2008 명령 프롬프트를 이용한 등록

- 빌드후 dll이 있는 곳에서 등록 (프로젝트경로\bin\Debug\ComPlusExample.dll)

regsvcs ComPlusExample.dll
regasm ComPlusExample.dll

 


☞ COM+ 응용 프로그램 등록확인

 



☞ test.asp 실행

 <%

set Com = server.createobject("ComPlusExample.ComPlusClass")
encodeStr = Com.Base64Encode("홍길동")
Response.Write "암호화 : " & encodeStr & "<br/>"
Response.Write "복호화 : " & Com.Base64Decode(encodeStr) & "<br/>"

%>

 

 

☞ 결과