|
분류 전체보기
- 생각의 함정(Blunder) 2010.01.31
- C# 데이터형 변수 2009.10.20
- C#으로 COM 생성후 asp에서 사용하기...(펌글) 2009.10.14
- AXIS2(서버) 이클립스 셋팅 2009.09.24
- asp에서 웹서비스 연동(soap toolkit 사용하기) 2009.09.10
- 한국골프대학 2009.09.03
- CSS 좋은 책?? 2009.08.18
- 답변형 게시판 2009.08.09 5
생각의 함정(Blunder)
C# 데이터형 변수
C#으로 COM 생성후 asp에서 사용하기...(펌글)
출처 : http://cafe.naver.com/headstudy.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=834
com을 등록하는 방법을 찾다가 우연치 않게 발견한 것이다. ㅠㅠ..
네이버 카페에서 퍼온글이며 문제가 있을 경우 삭제하겠습니다.
안녕하세요. 마리입니다. ^^;
제가 또 뉴스그룹 서핑 도중... 질문을 하나 만났습니다.
"C#으로 COM을 생성하고 asp에서 VB나 C++의 COM처럼 사용할 수 있을까요?"
답변은 할 수 있다는 것이였습니다.
"C# 으로 만든 컴포넌트는 CCW( COM Callable Wrapper) 에 의해서 regsvr32.exe 로 COM 개체
를 등록된 것과 같은 효과로 등록되어질 수 있습니다."
저도 궁금하기도 하고 호기심도 생기고 해서... 테스트를 해보려고 맘 먹었습니다.
그런데 COM을 첨 해보는지라... 좀 헤맸습니다. ㅋㅋ
간단하게 테스트 예제와 함께 과정을 살펴보겠습니다.
(아래의 과정은 MS웹 사이트의 기술자료 http://support.microsoft.com/default.aspx?scid=kb;ko;306296 의 방법으로 한 것 입니다.)
먼저 새 프로젝트로 C#프로젝트에서 클래스 라이브러리를 하나 만듭니다.
이름은 ServicedCOM으로 하겠습니다.
자동 생성된 클래스 Class1의 이름을 Com_Test로 변경합니다. 아래... 생성자도 변경 하시는거
아시죠? ^^; 소스를 보여드리겠습니다.
using System;
using System.EnterpriseServices;
namespace
ServicedCOM
{
public class Com_Test :
ServicedComponent
{
public
Com_Test()
{
}
public string DoTrans()
{
return ".NET COM+ Testing";
}
}
}
만약에 System.EnterpriseServices네임스페이스가 자동 완성되지 않으신다면...
솔루션 탐색기에서 참조추가를 합니다. 거기서 .NET 탭중 쭉..내리시면 있습니다.
등록을 해주세요. 소스는 간단한 문자열을 리턴하는 소스입니다.
이제 AssemblyInfo.cs파일에서 추가를 합니다.
System.EnterpriseServices 역시 상단에 using키워드로 명시하시구요.
[assembly:
ApplicationActivation(ActivationOption.Library)]
[assembly:
ApplicationName("Com_Test")]
이제 컴파일을 합니다. 그럼 dll파일이 하나 생기겠죠?
이제 어셈블리 이름을 강력하게 지정해야 합니다.
- 시작 메뉴에서 프로그램을 가리키고 Microsoft Visual Studio .NET을 누른 다음 Visual Studio .NET Tools를 눌러 Visual Studio .NET 명령 프롬프트를 엽니다.
- 명령 프롬프트에서 sn.exe -k ServicedCOM.snk를 입력하여
어셈블리에 강력한 이름을 지정합니다.
강력한 이름으로 어셈블리에 서명하는 방법에 대한 자세한 내용은 .NET Framework SDK 설명서를 참조하십시오. - ServicedCOM.snk를 프로젝트 폴더에 복사합니다.
- AssemblyInfo.cs에서 AssemblykeyFile 코드를 다음 코드로 대체합니다.
[assembly: AssemblyKeyFile("..\\..\\ServicedCOM.snk")]
자... 이제 레지스트리에 등록을 해야 합니다.
- 시작 메뉴에서 프로그램을 누르고 Microsoft Visual Studio .NET을 누른 다음 Visual Studio .NET Tools를 눌러 .NET 명령 프롬프트를 엽니다.
- .NET 명령 프롬프트에서 regsvcs 프로젝트경로\bin\Debug\servicedcom.dll을 입력합니다. 그러면 클래스와 같은 이름의 COM+ 라이브러리 응용 프로그램이 만들어집니다.
이제 완료가 되었습니다.
간단한 asp코드로 테스트를 해보세요.
<%
set Com =
server.createobject("ServicedCOM.Com_Test")
response.write
Com.DoTrans()
%>
서핑 하던 도중 다른 방법도 있군요...
using System;
namespace
ServicedCOM
{
public class Com_Test
{
public
Com_Test()
{
}
public string DoTrans()
{
return ".NET COM+ Testing";
}
}
}
어셈블리쪽은 건드리지 마세요. 아... 위의 소스가 아니고 첨의 그대로...
regasm 프로젝트경로\bin\Debug\ServicedCOM.dll /codebase
이렇게 하면 COM에 등록이 됩니다. 사용법은 위와 동일하구요....
AXIS2(서버) 이클립스 셋팅
asp에서 웹서비스 연동(soap toolkit 사용하기)
출처 : http://www.sleepyon.com/77
asp에서 웹서비스 연동(soap toolkit 사용하기)
컴터 이야기/.Net Web Services 2006/12/13 16:52회사에 asp와 웹서비스 연동이 필요해서 만든
메뉴얼..(????)
-------------------------------------------------
Web
Service.. 좋은 놈이져.. 다들 아시리라 생각하고 설명은 생략하겠습니다.
우리가 사용하고 있는 asp(classic asp)에서는 기본적으로 Web
Service와의 연동이 불가능합니다.
그러나 “하면된다!!!” 의 정신으로 하다보면 asp에서도 웹서비스 연동이
가능합니다.
바로 Soap Toolkit
3.0을 이용하는 방법입니다.
애초에 Soap
Toolkit은 VS용으로 나왔지만,
asp에서도 사용가능 합니다.
현재 버전 3.0까지
나왔으며 더 이상의 버전없은 없습니다.
이 후에 대해 관심 있으신 분은 WSE(Web Service Enhancements)를 검색해 보시면 되며 현재 최신 역시 3.0 입니다.
그 이후는 또 WCF(Windows
Communication Foundation)로 이어집니다. 쭈~욱
Soap Toolkit
다운은 아래에서..
이와 함께 깔아야 되는 것이 MSXML
4.0 입니다.
개발자들은 많이 깔려있지만 일반 서버는 안깔려 있을 수
있습니다. 다운은 역시 아래..
(이것 때문에 삽질 했다는 사례 몇몇 봤습니다.)
위의 두개를 깔고 나면 soap
client가 등록이 됩니다.
ClientProperty로 http로 읽어들인다고 설정
한 후, MSSoapInit을 이용하여 wsdl을
읽어들입니다.
(로컬에 wsdl을 받은 후 읽는것도 가능합니다.)
그 후 사용하면
됩니다. 간단합니다.
=_=
아래는 샘플 소스 입니다.
해석이 필요하시면 도움말을 보세요 soal tookit 깔면 생깁니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>제목 없음</title> </head> <body>
<% Dim
obj, objXML Dim
sStr
Set
objSoap = Server.CreateObject("MSSOAP.SoapClient30") Set
objXML = Server.CreateObject("MSXML.DomDocument")
objSoap.ClientProperty("ServerHTTPRequest") = true
objSoap.MSSoapInit("http://wevservice.address/service.asmx?WSDL")
sStr = objSoap.RequestOrder("<maxmovie></maxmovie>")
Set
objSoap = Nothing Set
objXML = Nothing
%>
<textarea rows="20" cols="100">
<%=Response.Write(sStr) %>
</textarea> </body> </html> [출처] asp에서 웹서비스 연동(soap toolkit 사용하기)|작성자 수행자 |
한국골프대학
CSS 좋은 책??
CSS 책 추천 |
|
|||||||||||||||||
예스24 | 애드온2 |
답변형 게시판
BOARD | BGROUP | SORTS | DEPTH | SUBJECT |
간단하게 5개가 필요하다
board : 고유번호
board | bgroup | sorts | depth | subject |
1 | 1 | 0 | 0 | 1번글 |
2 | 2 | 0 | 0 | 2번글 |
board | bgroup | sorts | depth | subject |
2 | 2 | 0 | 0 | 2번글 |
1 | 1 | 0 | 0 | 1번글 |
1.UPDATE BOARD SET SORTS = SORTS + 1
WHERE BGROUP = (원글의 BGROUP) AND SORTS >(원글의 SORTS)
(번호, (원글의 BGROUP), (원글의 SORTS +1), (원글의 DEPTH +1) ,' 제목')
BOARD | BGROUP | SORTS | DEPTH | SUBJECT |
2 | 2 | 0 | 0 | 2번글 |
3 | 2 | 1 | 1 | 2번글 - 1 |
1 | 1 | 0 | 0 | 1번글 |
board | bgroup | sorts | depth | subject |
2 | 2 | 0 | 0 | 2번글 |
4 | 2 | 1 | 1 | 2번글-2 |
3 | 2 | 2 | 1 | 2번걸-1 |
1 | 1 | 0 | 0 | 1번글 |
공식은 나왔다. 깊이도 상관없이 잘 된다. 테스트를 위해 데이터를 더 집어 넣고 확인해보자
board | group | sort | depth | subject |
2 | 2 | 0 | 0 | 2번글 |
4 | 2 | 1 | 1 | 2번글-2 |
5 | 2 | 2 | 2 | 2번글-2-1 |
3 | 2 | 3 | 1 | 2번글-1 |
1 | 1 | 0 | 0 | 1번글 |
board | bgroup | sorts | depth | subject |
2 | 2 | 0 | 0 | 2번글 |
4 | 2 | 1 | 1 | 2번글-2 |
5 | 2 | 2 | 2 | 2번글-2-1 |
3 | 2 | 3 | 1 | 2번글-1 |
6 | 2 | 4 | 2 | 2번글-1-1 |
1 | 1 | 0 | 0 | 1번글 |
흠... 간단하군..
board | bgroup | sorts | depth | subject |
2 | 2 | 0 | 0 | 2번글 |
1 | 1 | 0 | 0 | 1번글 |
board | bgroup | sorts | depth | subject |
2 | 2 | 0 | 0 | 2번글 |
3 | 2 | 1 | 1 | 2번글-1 |
1 | 1 | 0 | 0 | 1번글 |
2번글에 대하여 또다시 답글을 달아보자
board | bgroup | sorts | depth | subject |
2 | 2 | 0 | 0 | 2번글 |
3 | 2 | 1 | 1 | 2번글-1 |
4 | 2 | 2 | 1 | 2번글-2 |
1 | 1 | 0 | 0 | 1번글 |
board | bgroup | sorts | depth | board |
2 | 2 | 0 | 0 | 2번글 |
3 | 2 | 1 | 1 | 2번글-1 |
5 | 2 | 2 | 2 | 2번글-1-1 |
4 | 2 | 3 | 1 | 2번글-2 |
1 | 1 | 0 | 0 | 1번글 |
board 번호 3번과 4번 사이에 밀어 넣음을 알 수 있다.