«Действие» является одной из строк в заголовке сообщения.
Например, этот звонок
var m = Message.CreateMessage(MessageVersion.Default, "http://tempuri.org/MyMethod");
Создает это сообщение
<s:Envelope
xmlns:a="http://www.w3.org/2005/08/addressing"
xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Header>
<a:Action s:mustUnderstand="1">http://tempuri.org/MyMethod</a:Action>
</s:Header> <s:Body />
</s:Envelope>
Каждое сообщение имеет заголовок «action», а каждая операция WCF имеет атрибут «action». Система WCF будет сравнивать эти значения при определении операции, в которую следует отправлять каждое сообщение.
Как правило, вы не генерируете сообщения вручную, поэтому вам не нужно об этом беспокоиться - все обрабатывается, как ожидается, по умолчанию.
Когда вы определяете Договор на обслуживание, вы можете явно связать строку действия с операцией:
[ServiceContract]
interface MyService
{
[OperationContract(Action="http://tempuri.org/MyMethod")]
void ThisIsntReallyCalledMyMethod(string parameter1);
}