如何设置WCF Rest GET
本文关键字:WCF Rest GET 设置 何设置 | 更新日期: 2023-09-27 18:03:51
我正在使用WCF REST模板来测试REST开发。我试图测试一个POST方法定义如下:
[WebInvoke(UriTemplate = "", Method = "POST")]
public SampleItem Create(SampleItem instance)
{
// TODO: Add the new instance of SampleItem to the collection
return new SampleItem() { Id = 1, StringValue = "Hello Post" };
}
然而,我不知道如何让它接受我的SampleItem参数。我使用提琴提交POST请求http://ipv4.fiddler:54916/service1与以下标题:
User-Agent: Fiddler
Host: ipv4.fiddler:54916
我为请求体尝试了以下两种解决方案:
SampleItem.Id=1&SampleItem.StringValue=TestValue
和
<SampleItem xmlns="http://schemas.datacontract.org/2004/07/PerTrac.Cloud.Service.Statistic">
<Id>2147483647</Id>
<StringValue>String content</StringValue>
</SampleItem>
然而,我所能得到的是一个400错误。
SampleItem看起来像这样:
// TODO: Edit the SampleItem class
[DataContract]
public class SampleItem
{
[DataMember]
public int Id { get; set; }
[DataMember]
public string StringValue { get; set; }
}
我怎么能传递SampleItem到服务没有得到一个400错误?
第一个示例不起作用(WCF开箱即用不支持application/x-www-forms-urlencoded)。第二个例子应该工作,如果:1)SampleItem类的命名空间是pertrace . cloud . service . statistic;2)如果你在请求中添加一个Content-Type报头(Content-Type: text/xml)
如果它不起作用,那么尝试在服务器端启用跟踪。跟踪将有一个信息,说明为什么请求被WCF拒绝。