ServicedComponent 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
COM+ 서비스를 사용하는 모든 클래스의 기본 클래스를 나타냅니다.
public ref class ServicedComponent abstract : ContextBoundObject, IDisposable, System::EnterpriseServices::IRemoteDispatch, System::EnterpriseServices::IServicedComponentInfo
[System.Serializable]
public abstract class ServicedComponent : ContextBoundObject, IDisposable, System.EnterpriseServices.IRemoteDispatch, System.EnterpriseServices.IServicedComponentInfo
[<System.Serializable>]
type ServicedComponent = class
inherit ContextBoundObject
interface IRemoteDispatch
interface IDisposable
interface IServicedComponentInfo
Public MustInherit Class ServicedComponent
Inherits ContextBoundObject
Implements IDisposable, IRemoteDispatch, IServicedComponentInfo
- 상속
- 파생
- 특성
- 구현
예제
다음 코드 예제에서는 구성 된 COM 구성 요소로 클래스를 노출 하는 방법에 설명 합니다.
[assembly:ApplicationName("Calculator")];
[assembly:ApplicationActivation(ActivationOption::Library)];
[assembly:System::Reflection::AssemblyKeyFile("Calculator.snk")];
public ref class Calculator: public ServicedComponent
{
public:
int Add( int x, int y )
{
return (x + y);
}
};
using System;
using System.EnterpriseServices;
[assembly: ApplicationName("Calculator")]
[assembly: ApplicationActivation(ActivationOption.Library)]
[assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]
public class Calculator : ServicedComponent
{
public int Add (int x, int y)
{
return(x+y);
}
}
구성 된 COM 구성 요소와이 클래스를 배포 하려면 강력한 키를 생성, compile을 라이브러리로 클래스 및 라이브러리를 등록 해야 합니다. 다음 세 단계는 다음 세 가지 명령을 사용 하 여 수행 됩니다.
sn -k Calculator.snk
csc /t:library Calculator.cs
regsvcs Calculator.dll
설명
특정 조건에서 파생 된 클래스에서 ServicedComponent COM + 애플리케이션에서 실행 응답을 중지할 수 있습니다. 이 문제는 작업 교착 상태에서 발생 합니다. 작업 구성 요소 참조의 비동기 정리로 인해 다중 스레드 애플리케이션에서 교착 상태 수 있습니다. 이 문제를 해결 하기 위해 호출 된 Dispose 에서 파생 된 개체를 사용 하 여 작업을 완료 하면 메서드가 ServicedComponent합니다.
참고
클라이언트 코드를 호출 해야 Dispose
에서 제대로 작동 하도록 구성 요소를 처리 합니다.
생성자
ServicedComponent() |
ServicedComponent 클래스의 새 인스턴스를 초기화합니다. |
메서드
Activate() |
풀에서 개체를 만들거나 할당할 때 인프라에서 호출합니다. 이 메서드를 재정의하여 사용자 지정 초기화 코드를 개체에 추가합니다. |
CanBePooled() |
개체가 풀에 다시 배치되기 전에 인프라에서 이 메서드를 호출합니다. 이 메서드를 재정의하여 개체를 풀에 다시 배치할지 여부를 결정합니다. |
Construct(String) |
생성자를 호출하여 생성자 문자열이 전달된 후 바로 인프라에서 호출합니다. 이 메서드를 재정의하여 생성 문자열 값을 사용합니다. |
CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
Deactivate() |
개체가 비활성화되기 직전에 인프라에서 호출합니다. JIT(Just-In-Time) 컴파일된 코드나 개체 풀링이 사용될 때 이 메서드를 재정의하여 사용자 지정 종료 코드를 개체에 추가합니다. |
Dispose() |
ServicedComponent에서 사용하는 모든 리소스를 해제합니다. |
Dispose(Boolean) |
ServicedComponent에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. |
DisposeObject(ServicedComponent) |
개체를 종료하고 연결된 COM+ 참조를 제거합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (다음에서 상속됨 MarshalByRefObject) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
InitializeLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다. (다음에서 상속됨 MarshalByRefObject) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
MemberwiseClone(Boolean) |
현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
IRemoteDispatch.RemoteDispatchAutoDone(String) |
이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다. COM+ 컨텍스트에서 원격 메서드 호출 후 ServicedComponent 클래스 개체의 |
IRemoteDispatch.RemoteDispatchNotAutoDone(String) |
COM+ 컨텍스트에서 원격 메서드 호출 후 ServicedComponent 클래스 개체의 |
IServicedComponentInfo.GetComponentInfo(Int32, String[]) |
ServicedComponent 클래스 인스턴스에 대한 특정 정보를 가져옵니다. |
적용 대상
.NET