Microsoft MVP성태의 닷넷 이야기
COM+에 관한 질문입니다. [링크 복사], [링크+제목 복사],
조회: 11441
글쓴 사람
박찬용 (pcy7979 at hotmail.com)
홈페이지
첨부 파일
 

안녕하세요. 정성태님
COM+ 이용해 보려고 하려합니다.
몇가지 문서 및 강좌를 읽었는데 궁금증이 생겨 이렇게 질문올립니다.

자체 개발한 어셈블리에서 DB연결/조회/입력/수정/삭제를 구현하였습니다.
입력/수정/삭제에 따라 트랜잭션를 사용하여 커밋/롤백을 하는 부분도 구현 되어있습니다.
이 어셈블리를 COM+에서 참조하고 있습니다.

1. system.enterpriseservice를 참조해야하나요?
   (테스트상으론 참조를 하지 않았을 때에도 사용은 가능했는데요.. tlb파일이 COM+처럼 같이 생기더라구요..)

2. COM+의 메소드를 트랜잭션을 사용하려고 할때 자체개발한 어셈블리를 호출하여 데이타를 인서트하고 커밋을 했으나
   COM+쪽으로 리턴되어 Exception이 발생했을 경우 SetAbort()가 발생한다고 하던데요...
   그럼 이미 커밋한 데이타들이 롤백되는게 맞나요?
   아니면 자체개발한 어셈블리에서 트랜잭션/커밋/롤백 부분을 제거하고 COM+에서 제공하는 트랜잭션을 사용해야 할까요?
(지금 제가 개념을 제대로 잡고 있는건지 불확실하네요.)

3. 개발완료되면 윈도우서비스(C#으로 구현)에서 COM+ 라이브러리타입으로 개발하여 참조할 계획인데요.
   COM+로 개발한 어셈블리와 그냥 클래스라이브러리로 개발한 어셈블리를 참조하는거에 따라서 차이점은 무엇이 있을까요?

COM+ 접한지 얼마 되지 않아 좀 난감하지만 이렇게라도 궁금증을 풀어보고 싶습니다. 감사합니다.








[최초 등록일: ]
[최종 수정일: 4/13/2006]


비밀번호

댓글 작성자
 



2006-04-13 10시27분
1. COM+ 기능을 참조하지 않는다면, System.EnterpriseServices를 참조할 필요는 없습니다. 현재 자체 개발한 어셈블리는 COM+를 사용하지 않았기 때문에 그럴 필요는 없습니다.

2. COM+를 태우기로 결정하셨으면 COM+에서 제공되는 DTC 트랜잭션을 쓰는 것이 맞겠지요. 만약 개체 풀링 같은 기능 때문에 COM+를 쓰실 수도 있겠지만. COM+ 쪽으로 리턴되어 Exception이 발생한다는 것이 어떤 경우를 두고 말씀하시는 것인지 모르겠지만, 이미 DB 상에서의 무결성이 보장된다면, COM+ 쪽으로 리턴될 때 예외가 발생한다고 해서 다시 롤백할 필요는 없을 것 같습니다. DB 트랜잭션의 Commit/Rollback은 엄연히 무결성을 위해 존재하는 것이지, 트랜잭션 이후의 Application 쪽에서의 예외로 인해 변경되어야 할 상황은 아니라고 봅니다.

3. 윈도우 서비스 차원에서는 어느 것을 참조하든지 상관이 없겠지요. 각각의 어셈블리가 DB 트랜잭션을 책임지겠다면 말이죠.

한 가지... 박찬용 님의 질문을 듣고 알 수 있는 것은, COM+에 대해서 많이 알지 못하는 상황인 듯한데요. 가능한 옆에서 COM+에 대해 좀 더 알고 있는 동료가 없거나 하는 경우에는 다소 위험하지 않을까 싶습니다. 차라리 그런 경우에는 기존 ASP.NET에서 제공되는 연결 기반의 트랜잭션을 쓰시는 것이 더 안전할 거라 보입니다. 아니면, 좀 더 COM+에 대한 공부를 하시는 것도 좋겠지요. 또는... 회사에 요청해서 그에 관계된 교육을 받을 수 있도록 하는 것도 좋은 방법일 수 있습니다.
kevin25
2006-04-14 09시17분
[박찬용] 답변 감사합니다. 일단 조금 더 공부해야겠스빈다.
[guest]

... 76  77  78  79  80  81  82  83  84  85  86  87  88  [89]  90  ...
NoWriterDateCnt.TitleFile(s)
239장강현9/14/200514986SmartClient에서의 배포 문제에 대해 [2]
238이순원9/13/200510351디버깅 할때 native 옵션껐는데두 너무 느려요.. [1]
236코디9/12/200510321[질문]런타임 보안 배포 [1]
237코디9/13/200510857    답변글 [재질문]: [질문]런타임 보안 배포 [1]파일 다운로드1
235임은선9/9/200512925스마트 클라이언트 배포시 환경파일인 app.config는 어떻게 배포 해야하나요...? [2]
234임은선9/7/200511681스마트 클라이언트 보안문제관련해서 질문이 있습니다.. [2]
233이한욱8/31/200519733가상 시리얼 포트(Virtual COM Port) 만들기 [1]
232정준명8/30/200511358[질문] HTTP 모듈/핸들러 또는 RewriteURL 관련입니다. [4]
231이진일8/30/200510482참조한 dll 들은 어떻게 배포하나요...? [1]
2303028/29/200511299[질문] 웹에서 Exchange Server 사용자 추가 [2]
229김재명8/26/200510962성태님의 홈페이지 J & J의경우 보안모듈을 어떻게 해결하셨는지 궁금합니다. [1]
227임규진8/24/200510796리소스 파일에 그림 첨가하는 방법 좀 알려 주세요. [1]
226최인호8/19/200510819스마트 클라이언트 exe 버젼 실행시 시간이 너무 오래 걸립니다. [1]
225코디8/17/200510996[질문]닷넷프레임워크 설치여부 [1]
224박준현8/17/200510602[질문]중첩 그리드라고 해야 할까요? [1]
223매커7/28/200510008강좌 잘 읽었습니다. [1]
222김지영7/27/200511479C#에서 oledb 사용하다가 에러 [2]
221박민우7/26/200512029스마트클라이언트에서의 DB접속 [1]
220테드7/22/200510955스마트 클라이언트에서 원치 않는 패킷 송수신 문제... [3]
219김종욱7/21/200511463안녕하세요... 툴밴드 콤보 박스에 대해.. [1]
2187/21/200510107스마트 클라이언트에 대한 질문 입니다. [1]파일 다운로드1
217왕초보7/21/200510706마소강좌의 AxForSmartClient 를 실행시키고 싶은데요... [1]
215궁금증6/23/200510200도대체 이게 무슨 에러 일까요... [1]
213궁금이6/18/200511884Winform 형태의 NTD에서 사용자 로그인 성공 여부 정보 유지하는 방법 [1]
212궁금이6/16/20059884ActiveX 컨트롤이 NTD에 이상이 없는지요? [1]
211류성태6/15/200510415smart client에 관하여.... [1]
... 76  77  78  79  80  81  82  83  84  85  86  87  88  [89]  90  ...