1

我在 WCF 中创建了一个 REST GetTime 服务,该服务返回 JSON 作为响应消息。WebMessageBodyStyle 也被设置为 Wrapped,因此它会有一个与它返回的数据相关联的 ID。但是当我使用 Fiddler 测试我的服务时,响应字符串是:

{"GetTimeResult":"2010614104013"}

由于字符串 ID 上方的响应是 GetTimeResult,我想知道是否有任何方法可以将该位测试更改为时间戳。所以它看起来像这样:

{"timestamp":"2010614104013"}

干杯。

4

2 回答 2

0

如果您在代码中使用 DataContract/DataMember 属性,则添加一个名称(以及一些其他命名参数)。

[DataMember(Name = "timestamp")]
public string GetTimeResult
于 2010-06-14T13:27:19.613 回答
0

正如本文所指出的,假设您没有在数据协定中显式使用数据成员,并且想要返回时间戳作为响应的简单字符串。只需将注释[return: MessageParameter(Name = "timestamp")]与您的操作合同方法一起使用:

[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "/timestamps", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
[return: MessageParameter(Name = "timestamp")]
string GetStringTimestamp();
于 2018-08-27T15:39:38.320 回答