사용자 지정 콘텐츠 포맷터 개발
Notification Services에서는 신속한 응용 프로그램 개발을 지원하기 위해 XSLT(Extensible Stylesheet Transformation Language)를 기반으로 하는 기본 제공 콘텐츠 포맷터를 제공합니다. 그러나 다른 기술을 사용하여 알림 데이터의 서식을 지정하려면 사용자 지정 콘텐츠 포맷터를 개발해야 합니다.
IContentFormatter 인터페이스
콘텐츠 포맷터는 원시 형식의 알림 데이터를 입력으로 가져온 후 서식이 지정된 알림 메시지를 반환하는 구성 요소입니다. 콘텐츠 포맷터는 Notification Services 엔진에 호스팅되는 배포자에 의해 로드됩니다. 배포자는 IContentFormatter라는 인터페이스를 통해 콘텐츠 포맷터와 상호 작용합니다.
사용자 지정 콘텐츠 포맷터를 개발하려면 IContentFormatter 인터페이스를 구현하는 클래스를 개발해야 합니다. 이 인터페이스는 Microsoft.SqlServer.NotificationServices 네임스페이스에서 사용할 수 있습니다.
배포자는 서식을 지정해야 하는 각 메시지에 대해 콘텐츠 포맷터를 호출합니다. 이러한 메시지는 하나의 알림, 알림 다이제스트 또는 단일 멀티캐스트 메시지에 대한 알림 데이터일 수 있습니다.
배포자는 먼저 Initialize를 호출하고 서식을 지정할 각 메시지에 대해 FormatContent를 호출한 후 작업 항목이 완료되면 Close 메서드를 호출합니다. Initialize 메서드를 먼저 호출하지 않는 한 FormatContent 메서드는 다시 호출되지 않습니다.
서식 지정에 실패하면 FormatContent 메서드는 예외를 발생할 수 있습니다. 배포자는 응용 프로그램 로그에 예외를 기록하고 알림을 실패한 것으로 표시합니다. 실패한 알림은 배달 프로토콜로 보내지지 않습니다. 알림 클래스가 알림을 다시 시도하도록 구성되면 다음 다시 시도 간격 후에 서식 지정을 위해 해당 알림이 선택됩니다.
Initialize 및 Close 메서드는 예외를 발생하지 않습니다.
사용자 지정 콘텐츠 포맷터를 관리 코드 어셈블리의 클래스로 구현해야 합니다. 이 어셈블리는 알림 응용 프로그램에서 액세스할 수 있는 아무 위치에나 둘 수 있습니다.
알림 서식 지정
배포자는 Initialize 메서드를 호출하여 콘텐츠 포맷터를 초기화할 때 선언된 인수와 다이제스트 배달 설정을 전달합니다. 콘텐츠 포맷터 구현은 이러한 값을 사용하여 자체적으로 구성되며 사용할 설정을 저장해야 합니다. 배포자는 콘텐츠 포맷터를 호출하여 알림 메시지의 서식을 지정할 때 FormatContent 메서드를 호출하고 알림 데이터가 들어 있는 해시 테이블 배열을 콘텐츠 포맷터로 전달합니다. 알림 데이터에는 구독자 로캘과 장치 유형이 포함됩니다.
응용 프로그램에 따라 다이제스트 알림, 다중 장치 및 다중 로캘의 서식 지정을 처리하도록 콘텐츠 포맷터를 구현해야 할 수 있습니다.
사용자 지정 콘텐츠 포맷터 사용
사용자 지정 콘텐츠 포맷터를 사용하려면 해당 콘텐츠 포맷터를 응용 프로그램 정의에 선언해야 합니다. 콘텐츠 포맷터를 선언할 때는 클래스 이름, 어셈블리 이름 및 콘텐츠 포맷터 초기화에 필요한 모든 인수 값과 이름을 제공해야 합니다. 자세한 내용은 콘텐츠 포맷터 구성을 참조하십시오.
중요: |
---|
사용자 지정 콘텐츠 포맷터는 Notification Services 엔진에서 실행하는 배포자와 동일한 권한으로 실행됩니다. Notification Services 엔진이 실행되는 계정에는 어셈블리 액세스 권한이 있어야 합니다. |
참고 항목
개념
Notification Services에 대한 보안 고려 사항
관련 자료
XSLT 콘텐츠 포맷터
사용자 지정 Notification Services 구성 요소 개발