WCF从角度发布Json

Posted

技术标签:

【中文标题】WCF从角度发布Json【英文标题】:WCF Post Json from angular 【发布时间】:2018-10-05 09:57:57 【问题描述】:

我正在尝试使用 post 方法将 json 数据从 angular 发送到 wcf。 Angular 以 json 格式发送数据,但 wcf 将其作为空对象接收。可以使用get方法发送json。在按钮单击事件上调用 GetData 方法。

Angular 组件.ts

import  Component  from '@angular/core';
import  HttpClient  from '@angular/common/http';

@Component(
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
)
export class AppComponent 


  constructor(private httpClient: HttpClient)

  


  getData()
    this.httpClient.post('http://localhost:3292/examservice.svc/jsontest',
      RollNumber: '41',
      Name: 'Test'
    )
    .subscribe(
      (data:any) => 
        console.log(data);
      
    )

  

WCF 服务.svc.cs

namespace Service


    public class Service : IService
    
        public Student jsont(Student s)
        

            return s;
        
   

WCF IService.cs

namespace Service


    [ServiceContract]
    public interface IService
    

[OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "jsontest", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
        Student jsont(Student s);
    


    [DataContract]
    public class Student
    
        [DataMember]
        public string RollNumber  get; set; 
        [DataMember]
        public string Name  get; set; 
    

【问题讨论】:

【参考方案1】:

删除 BodyStyle = WebMessageBodyStyle.WrappedRequest 然后你就可以走了。

【讨论】:

以上是关于WCF从角度发布Json的主要内容,如果未能解决你的问题,请参考以下文章

从网络/TCP/HTTP 连接的角度来看,Node.js 是如何工作的? WCF 可以模拟这个吗?

如何从 jasmine 测试用例中解析角度 lang json 文件(角度本地化模块)

无法使用内容类型发布:从角度到轨道的应用程序/json

从 JSON rootscope 对象角度获取参数

使用角度 2 的 http.get() 从本地文件加载 json

将json从角度发送到弹簧控制器时出错