как использовать MessageParameterAttribute в wcf - PullRequest
3 голосов
/ 12 мая 2010

Я хотел бы знать, что такое использование MessageParameterAttribute в wcf.

В моей функции:

[OperationContract]
public float GetAirfare(
[MessageParameter(Name=”fromCity”)] string originCity,
[MessageParameter(Name=”toCity”)] string destinationCity);

Я не использую fromCity или toCity где-либо в реализации или даже при использовании сервиса. Тогда какой смысл давать ему имя?

1 Ответ

5 голосов
/ 12 мая 2010

Этот атрибут используется для управления сериализацией. Это может быть особенно полезно, когда вы хотите использовать ключевое слово или имя типа в результирующей схеме XSD, которая описывает входящее сообщение. Аналогично, вы можете контролировать имя элемента XML для возвращаемого значения в ответном сообщении. Он также может быть полезным атрибутом для стандартизации соглашений об именах элементов XML, отдельно от соглашений об именах CLR. Например, вы можете предпочесть использовать регистр верблюдов для имен параметров и регистр Паскаля для XML.

Если бы в качестве примера мы использовали предоставленный вами фрагмент кода, запрос выглядел бы следующим образом:

<s:Body>
    <GetAirFare xmlns="yournamespacehere">
        <fromCity>Chicago</fromCity>
        <toCity>Las Vegas</toCity>
    </GetAirFare>
</s:Body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...