C#在Restful API中接受Image为HttpPostedFile

时间:2012-05-10 18:17:14

标签: c# asp.net rest post fiddler

我正在C#中构建一个rest api - 我正在设置一些POST - 这是界面:

    [SecurityTokenValidator("Registered Users")]
    [OperationContract]
    [WebInvoke(ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml, UriTemplate = "camps/{campid}/markings/{token}", Method = "POST")]
    MarkingDto InsertMarking(string campid, string token, MarkingDto markingDto);

这是我的MarkingDto

[DataContract(Namespace = "FreeBeer")]
public class MarkingDto
{
    [DataMember] public int Id;
    [DataMember] public decimal Latitude;
    [DataMember] public decimal Longitude;
    [DataMember] public string MarkingType;
    [DataMember] public DateTime DateTime;
}

在Fiddler中构建测试POST - 我注意到我的RequestBody不是按字母顺序排列 - 有些项目为null或为零。例如 - 如果请求正文是这样的 - 经度在纬度之前出现 - 纬度将为零(0)。

<MarkingDto xmlns="BigGameLogic">
<Longitude>456</Longitude>
<Latitude>123</Latitude>
<MarkingType>Scrape</MarkingType>
</MarkingDto>

但如果按字母顺序排列 - 一切都在那里。这只是一个小提琴手吗?或者这是我需要解决的问题,因为我缺少简单的解决方案;)

1 个答案:

答案 0 :(得分:2)

WCF中要求除非您在DataMember上指定成员属性按字母顺序发送的订单。

怨恨地看到这个问题的答案

Not all parameters in WCF data contract make it through the web service call

可在此处找到更多信息

msdn.microsoft.com/en-us/library/ms729813.aspx

由于