Отправить информацию в заголовке мыла службе WCF в C # - PullRequest
0 голосов
/ 17 сентября 2010

Я хочу, чтобы веб-приложение создало ссылку на службу для моей службы WCF, вставило информацию в заголовок вызова soap и вызвало мой метод WCF.

Я прочитал об атрибуте MessageContract и объявил его в интерфейсеfile:

[MessageContract]
public class BasicServiceHeader
{
    [MessageHeader]
    public string myString;
}

мой интерфейс WCf:

   [ServiceContract]
public interface IBasicService
{

    [OperationContract]       
    [WebGet(UriTemplate = "GetData?value={value}")]     // Add support for HTTP GET Requests
    string GetData(int value);}

Я не хочу, чтобы BasicServiceHeader передавался в качестве параметра функции GetData, я хочу оставить функцию такой, как онаи извлекать BasicServiceHeader внутри функции, я могу это сделать?

1 Ответ

0 голосов
/ 17 сентября 2010

На стороне клиента вы можете передать заголовок до вызова операции:

MessageHeader messageHeader = MessageHeader.CreateHeader(_headerName, _headersNameSpace, _headerValue);
OperationContext.Current.OutgoingMessageHeaders.Add(messageHeader);

и извлечь его с помощью сервисной стороны FindHeader

...