如何以 JSON 形式返回 WCF 服务 POST 响应

Posted

技术标签:

【中文标题】如何以 JSON 形式返回 WCF 服务 POST 响应【英文标题】:How to returning WCF Service POST response as JSON 【发布时间】:2021-09-08 12:28:31 【问题描述】:

我已经使用 POST 请求创建了 WCF 服务。

 [OperationContract]
        [WebInvoke(Method = "POST",
         ResponseFormat = WebMessageFormat.Json,
         RequestFormat = WebMessageFormat.Json,
         //  BodyStyle = WebMessageBodyStyle.Wrapped,
         UriTemplate = "/UpdateRCFOnline"
         )]
        String UpdateRCFOnline(RCFOnline rcf_class);

  public string UpdateRCFOnline(RCFOnline rcf_class)
    
        string success = string.empty;
                
        try
        
            //POST data to DB
            success = "Update Success";
         catch(Exception ex)
            success = "Update Failed, " +ex.message;
        
        
    return success;
    
    

如何使这个 POST 请求以 JSON 形式返回“成功”。因为如果我在 Fiddler 中尝试过这项服务。我在“原始”选项卡而不是 JSON 上收到消息。

【问题讨论】:

【参考方案1】:

试试下面

public object UpdateRCFOnline(RCFOnline rcf_class)
     
    try
    
        //POST data to DB
        return new 
           success = "Update Success";
        
     catch(Exception ex)
        return new 
           success = "Update Failed, " +ex.message;
        
    


这样你将返回一个将被反序列化为 json 字符串的对象。

注意。还要检查是否可以将 return data type 设置为 json

【讨论】:

如果能定义返回数据对象类就更好了

以上是关于如何以 JSON 形式返回 WCF 服务 POST 响应的主要内容,如果未能解决你的问题,请参考以下文章

如何使 WCF 数据服务查询拦截器以 JSON 格式返回结果?

Angular 4 POST 到 WCF REST 服务返回 NULL 响应

WCF REST 服务为 POST 返回 405

WCF POST 通过 JQuery。如何在 JSON 中发送数组?

在 wcf 中返回原始 json(字符串)

C# .NET MVC 接收 JSON ,POST,WCF 无缝隙切换