c# - 创建 WCF PUT Rest 服务

标签 c# wcf rest .net-4.0 put

我在 WCF 中有一个简单的 REST Web 服务,声明如下:

[WebInvoke(Method = "PUT",UriTemplate = "comptatge/add",RequestFormat = WebMessageFormat.Json,ResponseFormat = WebMessageFormat.Json)]
public void GravaComptatge(MyDataContract contract)
{
    ...
}

其中 MyDataContract 是一个具有简单属性的类。

现在我使用 fiddler 发送一个 put 请求,看看它是否工作正常。在正文中,我发送了与 MyDataContract 具有相同属性的 JSON,但它不起作用。我收到 400 Bad Request HTTP 错误。我在这里做错了什么?该服务使用 ServiceRoute 托管在 MVC 应用程序中。其他 GET 服务工作正常。

最佳答案

我以前遇到过这种情况,在请求 header 中添加 Content-Type: application/json 就是解决方案。

关于c# - 创建 WCF PUT Rest 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8009179/

相关文章:

node.js - NPM-node-soap 支持 WsHttpBinding 吗?

c# - 进程不启动,但在 VS 开发服务器中运行时启动

c# - Windows服务/WCF和线程,初学者问题

rest - Express.js 的 BDD 测试框架

java - RestTemplate/HttpClient 的缺点/优点

C# 如何从 WinForms 中的 ComboBox 获取枚举值?

c# - 如果我的条件匹配,如何从另一个列表中选择项目?

python - 为来自客户端的请求和来自服务器的响应(REST API)在 Django 中压缩 JSON 有效负载。

c# - 如何从字典中获取键和值

c# - 写入 Windows 事件日志时,是否可以为 URL 创建自定义链接文本?