Microsoft MVP성태의 닷넷 이야기
COM+ 의 활성화 상태... [링크 복사], [링크+제목 복사],
조회: 11342
글쓴 사람
탑 (develtop at empal.com)
홈페이지
첨부 파일
 

이전 vb 로 작성되는 com+ 서비스용을 닷넷용으로 첨 해봅니다.

COM+ 로 소스를 작성 하였습니다.
그런데 객체를 사용하고 난 후 구성요소 서비스에서 계속 활성화 상태로 남아 있는데...
어떤 문제인지 ....

요지는...

아래와 같이 A, B 가 있다고 할적에 모두 COM+ 에 등록 되었습니다.

A 라는 COM 에서 B - oDAL - 를 호출하여 사용하고 난 후

Dispose 하고 Nothing 처리를 해 주었는데
구성요소 서비스에서 개체 상태를 살펴보면 A 라는 놈은 서비스 되고 난 후
0 로 되어 있는데 B 라는 놈은 1 로 계속 활성화 상태로
되어 있습니다.

그래서 같은 것을 계속 호출하면 A 라는 놈은 0로 즉시 되는데 B 라는 놈은 숫자가 계속 올라 갑니다.
이런 식이라면 .. 여러 사용자가 계속 호출할 경우 메모리가 오버 되지 않을 까 걱정 입니다

Try
            oDal = CreateObject(gaCert(9))
            fnkgb011nq = oDal.Connect(gaCert)
            If fnkgb011nq <> "" Then Throw New Exception(fnkgb011nq)

            ...................................

            fnkgb011nq = oDal.GetRecordset(sSql, vRtn)
            If fnkgb011nq <> "" Then Throw New Exception(fnkgb011nq)

        Catch oErr As Exception
            fnkgb011nq = My.Application.Info.AssemblyName & "." & "[fnkgb011nq]" & vbCrLf & oErr.Source & vbCrLf & oErr.Message
        Finally
  

            If Not IsNothing(oDAL) Then
                oDAL.Disconnect()
                oDAL.Dispose() ---> 데이타베이스 전담 com
                oDAL = Nothing
            End If

             Dispose()
        End Try

oDAL 을 작성시
--------
Option Strict Off
Option Explicit On

Imports Microsoft.VisualBasic
Imports System.Runtime.InteropServices
Imports System.EnterpriseServices


<System.Runtime.InteropServices.ProgId("PUB_Zaaex.CZaaxt"), _
    JustInTimeActivation(True), EventTrackingEnabled(True), _
    System.EnterpriseServices.TransactionAttribute(System.EnterpriseServices.TransactionOption.NotSupported)> _
Public Class CZaaxt
    Inherits ServicedComponent
-------------------
이렇게 해주었습니다.

-- 그리고 또 하나는 이전 vb 로 작성하고 com+ 에 등록했을때는 해당 클래스에 작성된 메소드들이 다 보였는데
닷넷으로 만들고 난 후에는 메소드들이 안보이는데 어떤 속성을 추가 해야 하는지요?








[최초 등록일: ]
[최종 수정일: 11/17/2005]


비밀번호

댓글 작성자
 



2005-11-16 10시34분
Marshal.ReleaseComObject 메서드를 활용해 보십시오. 그리고, 테스트를 위해 메서드 하나 호출하지 않고, 생성 한 후 마로 release 했을 때와 비교해 가면서 하십시오.

그나저나... oDal 개체가 COM+ 등록된 거 맞나요? COM+ 는 상태 비저장 개체입니다. 지금 "탑" 님이 만드신 것은 무늬만 COM+ 일 뿐, 일반 COM 개체와 별반 차이가 없습니다. 위와 같은 경우에는, 오히려 COM+ 로 올려놓게 되면 문제가 발생할 소지가 다분합니다.

참고로, .NET 에서는 Server 유형으로 COM+ 만드는 것을 권장하지 않습니다. AppDomain 고립의 안정성으로 인해 Library 유형으로 하는 것을 권장합니다.

그리고, 메서드들이 안 보인다고 하셨는데... public 으로 되어 있는 메서드들이 안보인다는 것인가요? 그럼, 문제겠지만... 이외의 private, protected 메서드들이 안 보이는 것은 당연합니다.
kevin25

... [16]  17  18  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5568카짜프로...11/14/202114257그림 5.20, 그림 5.22 언급 오류 [1]
5567Edun11/2/202112394쿼리문을 코드로 어떻게 처리할 수 있을까요? [2]
5566민성10/26/202112089Linq에 관해서 [1]
5565pass...10/25/202113294wpf에서 Cefsharp를 AnyCPU로 작업 했는데 실행이 되지 않습니다. [4]
5564초보10/21/202111544오버라이드 관련 질문드립니다 [2]
5562서지훈10/20/202111504win32 api 문의 드립니다. (EnableMenuItem) [5]
5561Edun10/15/202112210도와주세요!! 팝업 띄우는 더블클릭 이벤트!! 부탁드립니다 ㅠㅠ [4]파일 다운로드1
5560Edun10/13/202112484C#초보자 개념이해 도와주세요!! [4]
5559최가운10/5/202113051C# debugging 중에 Thread Pool Worker들이 사라지는데요 [3]
5558옥코드9/29/202113129안녕하세요! EntityFramework Linq 질문 드리겠습니다. [4]
5557임기성9/16/202113433웹 사이트(IIS)가 오류로 인하여 빈번하게 죽는 이슈 문의 [1]
5556hjlee9/13/202112391visual studio 설치 없이 csi.exe (C# interactive) tool을 설치할 수 있을까요? [2]
5555이성열 donator9/2/202111862C# 런타임(Reflection)에서 소스코드에 입력한 함수설명(Summary)을 가져올 수 있을까요? [3]
5554농상9/2/202113081enum 원소값이 중복인 경우 출력 [4]
5553shdt...8/31/202111416제너릭을 new로 할당했는데 null인 경우가 존재하나요? [1]
5552hjsh...8/30/202111997C# 폼 - 마우스가 다른 버튼 위를 움직일 때도 폼의 페인트핸들러가 호출되는 것이 맞나요? [2]
5551하나다라마8/27/202112019뽀모도로 타이머 개선사항 [1]
5550하영8/27/202114141SqlDataReader 관련 질문입니다. [8]
5549책 감사...8/23/202116336C# 9.0 책 오타 [1]
5548Dev8/23/202113643String의 IndexOfAny 함수 질문 [3]
5547민성8/20/202112307WPF Radio 버튼을 GroupName으로 읽어와서 비교하기 [1]
5546Deve...8/19/202113296C++ C# API 연동 관련 [1]
5545영귤8/18/202112665C# 14.3장 예제에서 반환 값의 값 복사 부하가 어디서 발생하는 것인가요? [4]
5544이상호8/18/202112892C# Graphics 객체 저장 가능 여부 [2]
5543정형지8/18/202112446c# outofmemoryexception [3]
5542영귤8/11/202116463C#9.0 886쪽 오류 발생 안 해요 [2]
... [16]  17  18  19  20  21  22  23  24  25  26  27  28  29  30  ...