3

我想知道 wcf 中 MessageParameterAttribute 的用途。

在我的功能中:

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

我不在实现中的任何地方使用 fromCity 或 toCity ,甚至在使用服务时也不使用。那么给它起名字有什么意义呢?

4

1 回答 1

5

该属性用于控制序列化。当您想在生成的 XSD 模式中使用关键字或类型名称来描述传入消息时,它会特别有用。同样,您可以控制响应消息中返回值的 XML 元素名称。它也可以是用于标准化 XML 元素命名约定的有用属性,与 CLR 命名约定分开。例如,您可能更喜欢对参数名称使用驼峰式大小写,而对 XML 使用 Pascal 大小写。

如果我们以您提供的代码片段为例,请求将如下所示:

<s:Body>
    <GetAirFare xmlns="yournamespacehere">
        <fromCity>Chicago</fromCity>
        <toCity>Las Vegas</toCity>
    </GetAirFare>
</s:Body>
于 2010-05-12T07:02:21.640 回答