MessageDescription Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет описание сообщения.
public ref class MessageDescription
public class MessageDescription
type MessageDescription = class
Public Class MessageDescription
- Наследование
-
MessageDescription
Примеры
В следующем примере используется MessageDescription возвращаемое из Messages свойства OperationDescription класса. Код выполняет итерацию по коллекции конечных точек и выводит каждое имя конечной точки, а также имя каждой операции в конечной точке.
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
Комментарии
Headers Содержит MessageDescription свойства, Body которые предоставляют доступ к этим частям сообщения. Указывает ли сообщение входящее или исходящее Direction свойство. Он также предоставляет свойство, в котором может быть указан универсальный Action код ресурса (URI), указывающий намерение сообщения.
Конструкторы
| Имя | Описание |
|---|---|
| MessageDescription(String, MessageDirection) |
Инициализирует новый экземпляр MessageDescription класса с указанным действием и направлением. |
Свойства
| Имя | Описание |
|---|---|
| Action |
Возвращает или задает параметр действия сообщения SOAP, определяющего намерение сообщения. |
| Body |
Возвращает текст сообщения SOAP. |
| Direction |
Получает направление, указывающее, является ли сообщение входящим или исходящим. |
| HasProtectionLevel |
Возвращает значение, указывающее, задано ли ProtectionLevel значение. |
| Headers |
Возвращает описание заголовков сообщения SOAP. |
| MessageType |
Возвращает или задает тип, определяющий тип контракта сообщения. |
| Properties |
Возвращает описание свойств сообщения SOAP. |
| ProtectionLevel |
Возвращает или задает службы безопасности, необходимые для сообщения. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ShouldSerializeProtectionLevel() |
Возвращает значение, указывающее, изменилось ли ProtectionLevel свойство со значения по умолчанию и должно быть сериализовано. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |