MessageDescription クラス

定義

メッセージの説明を表します。Represents the description of a message.

public ref class MessageDescription
public class MessageDescription
type MessageDescription = class
Public Class MessageDescription
継承
MessageDescription

MessageDescription クラスの Messages プロパティから返される OperationDescription を使用する例を次に示します。The following example uses the MessageDescription returned from Messages property of the OperationDescription class. このコードではエンドポイントのコレクションが反復処理され、各エンドポイントの名前とエンドポイント内の各操作の名前が出力されます。The code iterates through the collection of endpoints and prints each endpoint name, as well as the name of each operation in the endpoint.

private void PrintDescription(ServiceHost sh)
{
    // Declare variables.
    int i, j, k, l, c;
    ServiceDescription servDesc = sh.Description;
    OperationDescription opDesc;
    ContractDescription contractDesc;
    MessageDescription methDesc;
    MessageBodyDescription mBodyDesc;
    MessagePartDescription partDesc;
    IServiceBehavior servBeh;
    ServiceEndpoint servEP;

    // Print the behaviors of the service.
    Console.WriteLine("Behaviors:");
    for (c = 0; c < servDesc.Behaviors.Count; c++)
    {
        servBeh = servDesc.Behaviors[c];
        Console.WriteLine("\t{0}", servBeh.ToString());                
    }

    // Print the endpoint descriptions of the service.
    Console.WriteLine("Endpoints");
    for (i = 0; i < servDesc.Endpoints.Count; i++)
    {
        // Print the endpoint names.
        servEP = servDesc.Endpoints[i];
        Console.WriteLine("\tName: {0}", servEP.Name);
        contractDesc = servEP.Contract;

        Console.WriteLine("\tOperations:");
        for (j = 0; j < contractDesc.Operations.Count; j++)
        {
            // Print the operation names.
            opDesc = servEP.Contract.Operations[j];
            Console.WriteLine("\t\t{0}", opDesc.Name);
            Console.WriteLine("\t\tActions:");
            for (k  = 0; k < opDesc.Messages.Count; k++)
            {
                // Print the message action. 
                methDesc = opDesc.Messages[k];
                Console.WriteLine("\t\t\tAction:{0}", methDesc.Action);
               
                // Check for the existence of a body, then the body description.
                mBodyDesc = methDesc.Body;
                if (mBodyDesc.Parts.Count > 0)
                {
                    for (l = 0; l < methDesc.Body.Parts.Count; l++)
                    {
                        partDesc = methDesc.Body.Parts[l];
                        Console.WriteLine("\t\t\t\t{0}",partDesc.Name);
                    }
                }
            }
        }
    }
}
Private Sub PrintDescription(ByVal sh As ServiceHost) 
    ' Declare variables.
    Dim i, j, k, l, c As Integer
    Dim servDesc As ServiceDescription = sh.Description
    Dim opDesc As OperationDescription
    Dim contractDesc As ContractDescription
    Dim methDesc As MessageDescription
    Dim mBodyDesc As MessageBodyDescription
    Dim partDesc As MessagePartDescription
    Dim servBeh As IServiceBehavior
    Dim servEP As ServiceEndpoint
    
    ' Print the behaviors of the service.
    Console.WriteLine("Behaviors:")
    For c = 0 To servDesc.Behaviors.Count-1
        servBeh = servDesc.Behaviors(c)
        Console.WriteLine(vbTab + "{0}", servBeh)
    Next c
    
    ' Print the endpoint descriptions of the service.
    Console.WriteLine("Endpoints")
    For i = 0 To servDesc.Endpoints.Count-1
        ' Print the endpoint names.
        servEP = servDesc.Endpoints(i)
        Console.WriteLine(vbTab + "Name: {0}", servEP.Name)
        contractDesc = servEP.Contract
        
        Console.WriteLine(vbTab + "Operations:")
        For j = 0 To contractDesc.Operations.Count-1
            ' Print operation names.
            opDesc = servEP.Contract.Operations(j)
            Console.WriteLine(vbTab + vbTab + "{0}", opDesc.Name)
            Console.WriteLine(vbTab + vbTab + "Actions:")
            For k = 0 To opDesc.Messages.Count-1
                ' Print the message action. 
                methDesc = opDesc.Messages(k)
                Console.WriteLine(vbTab + vbTab + vbTab + _
                  "Action:{0}", methDesc.Action)
                
                ' Check for the existence of a body, then the body description.
                mBodyDesc = methDesc.Body
                If mBodyDesc.Parts.Count > 0 Then
                    For l = 0 To methDesc.Body.Parts.Count-1
                        partDesc = methDesc.Body.Parts(l)
                        Console.WriteLine(vbTab + vbTab + _
                        vbTab + vbTab + "{0}", partDesc.Name)
                    Next l
                End If
            Next k
        Next j
    Next i

End Sub     

注釈

MessageDescription には、メッセージのヘッダー部分と本文部分にアクセスするための Headers プロパティと Body プロパティが含まれています。The MessageDescription contains the Headers and Body properties to provide get access to these parts of the message. メッセージが受信と送信のどちらであるかは、Direction プロパティによって示されます。Whether the message is incoming or outgoing is indicated by the Direction property. また、メッセージの目的を示す URI が指定されている @no__t 0 のプロパティも提供します。It also provides an Action property where the URI that indicates the intention of the message may be specified.

コンストラクター

MessageDescription(String, MessageDirection)

指定したアクションと方向を使用して、MessageDescription クラスのインスタンスを初期化します。Initializes a new instance of the MessageDescription class with a specified action and direction.

プロパティ

Action

メッセージの目的を示す、SOAP メッセージのアクション パラメーターを取得または設定します。Gets or sets the action parameter of the SOAP message that identifies the intent of the message.

Body

SOAP メッセージの本文を取得します。Gets the body of the SOAP message.

Direction

メッセージが受信と送信のどちらであるかを示す方向を取得します。Gets the direction that indicates whether the message is incoming or outgoing.

HasProtectionLevel

ProtectionLevel が設定されているかどうかを示す値を取得します。Gets a value that indicates whether the ProtectionLevel has been set.

Headers

SOAP メッセージのヘッダーの説明を取得します。Gets the description of the headers of the SOAP message.

MessageType

メッセージ コントラクトの種類を識別する型を取得または設定します。Gets or sets a type that identifies the type of message contract.

Properties

SOAP メッセージのプロパティの説明を取得します。Gets a description of the properties of the SOAP message.

ProtectionLevel

メッセージに必要なセキュリティ サービスを取得または設定します。Gets or sets the security services required for the message.

メソッド

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ShouldSerializeProtectionLevel()

ProtectionLevel プロパティが既定値から変更されたためにシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether the ProtectionLevel property has changed from its default value and should be serialized.

ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象