Microsoft MVP성태의 닷넷 이야기
COM+ 의 활성화 상태... [링크 복사], [링크+제목 복사],
조회: 11347
글쓴 사람
탑 (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

... 31  [32]  33  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
5106우코아1/3/201915836WPF에서 로딩중 이미지를 구현 - Source [1]
5104우코아1/1/201917650WPF에서 로딩중 이미지를 구현 [4]
5103이혜성12/31/20181791232bit .net 으로 만들어진 dll파일 [5]
5102돌고래12/18/201816383자료구조와 알고리즘 도서 관련 질문입니다. [4]
5101세퉁12/17/201814640안녕하세요 wpf 공부중인데 질문있습니다. [4]파일 다운로드1
5100돌고래12/16/201813840도서 추천 부탁드립니다. [1]
5099WPF12/12/201816924안녕하세요. WPF에서 UWP Control을 참조하려고 합니다. [3]파일 다운로드1
5097sdh12/10/201818265[c#] 라이선스 파일 만들기 질문 드립니다. [3]
5096거북이12/3/201813264프로젝트 구성을 참고할 만한 자료가 있을까요? [1]
5095한대현11/21/201813672안녕하세요 c# 설치 파일 빌드중 오류가 생겨서 문의 드려요 [1]파일 다운로드2
5094하주형11/20/201813569안녕하세요 C# using 예약어관련 질문드립니다. [1]
5093Medi...11/19/201817328안녕하세요. wpf Mediaelement 질문 있습니다. [3]
5092하주형11/17/201813979안녕하세요 c# 7.1책 스택관련 질문드립니다. [2]
5091아짱11/15/201815505UWP 개발중 질문이 있습니다. [3]
5090황윤하11/15/201819719c# Socket Server에 접근할 수 있는 client 개수 제한 [5]
5089문성운11/14/201817112uwp에서 TcpListener를 사용할 수 없나요? [5]
5088안중언11/10/201814106TCP 소켓 [1]파일 다운로드1
5084김광흠11/9/201816283사운드 파일 "filename.wav" 와 같은 특정 파일이 실행되는것을 감시하고 싶습니다. [3]
5083거북이11/4/201816665타입의 범위를 넘어서는 연산의 개념을 모르겠습니다. [4]
5082꾸엉11/1/201814009BCL 타입을 모아둔 곳이 있나요? [2]
5081꾸엉10/31/201814411C# 7.1 235p 질문입니다. [3]
5080WPF초보10/30/201816261[WPF] IsManipulationEnabled속성 설정시 Click이벤트 문의 [1]
5079jhp10/30/201816275이 소스에 API후킹 소스를 추가하고 싶은데 어떻게 해야될지 모르겠어요. [4]
5078꾸엉10/29/201814202C# 7.1 185~187p 질문입니다. [2]
5077윤현수10/29/201821075setup파일 설치 이후 실행이 안되는 현상 [11]
5074진우10/28/201814123C# 생성과 동시에 초기화 하는 코드 문의 [2]
... 31  [32]  33  34  35  36  37  38  39  40  41  42  43  44  45  ...