.NET 클래스로 표시되는 메시지
이 방법에서는 먼저 메시지 유형을 정의하는 .NET 클래스를 만듭니다. 클래스에는 기본 생성자가 있어야 합니다. 그렇지 않은 경우 이 클래스를 사용하는 오케스트레이션은 컴파일되지 않습니다. 다음 예제에서는 이러한 클래스의 예를 보여 줍니다.
using System;
using Microsoft.XLANGs.BaseTypes;
Using PropertyNamespace;
namespace NetClass
{
[Serializable]
public class MsgClass
{
public MsgClass()
{
StrField = "OK";
IntField = 1;
ShortField = 1;
}
[PropertyNamespace.ShortPropertyName]
public Int16 ShortField;
[PropertyAttribute(typeof(PropertyNamespace.StringPropertyName)]
[DistinguishedFieldAttribute()]
public String StrField;
[DistinguishedFieldAttribute()]
public int IntField;
}
}
위 예제에서 ShortField는 PropertyNamespace.ShortPropertyName 형식의 속성이며, 이 속성의 기본 형식은 ShortField 형식인 Int16이어야 합니다. StrField는 고유 필드이면서 PropertyNamespace.StringPropertyName 형식의 속성이고, 이 속성의 기본 형식은 StrField 형식인 String 형식이어야 합니다. 일반적으로 PropertyNamespace.StringPropertyName 및 PropertyNamespace.ShortPropertyName은 모두 BizTalk 스키마 편집기를 통해 스키마 속성으로 만들어지며 C# 프로젝트에서 스키마 속성이 포함된 어셈블리를 참조해야 합니다.
참고
C# 프로그래밍 언어에서 특성 이름을 Attribute로 끝내는 것은 선택 사항이므로 Attribute로 끝내는 대신 DistinguishedField 또는 Property를 사용할 수 있습니다. 예를 들면 다음과 같습니다.
[Property(typeof(PropertyNamespace.StringPropertyName))]
[DistinguishedField]
public string StrField;
메시지 유형을 정의한 후에는 이 유형의 새 메시지를 만드는 코드를 오케스트레이션에서 매우 쉽게 작성할 수 있습니다. 생성 메시지 셰이프 내에서 간단한 식을 작성하여 위에 표시된 MsgClass 형식의 새 메시지를 만든 다음 고유 필드로 특성이 지정된 필드에 값을 할당합니다(기본값을 재정의하려는 경우). MyMsg는 NetClass.MsgClass 유형의 오케스트레이션 메시지 변수입니다.
MyMsg = new NetClass.MsgClass();
MyMsg.StrField = "Changed Value";
MyMsg.IntField = 15;