C# POST上的模型绑定失败

C# POST上的模型绑定失败,c#,angular,asp.net-core,angular-http,C#,Angular,Asp.net Core,Angular Http,我有一个ASP.NETCore2.0项目,我正在使用它作为WebAPI。客户端使用Angular 4完成。当我将表单数据从angular服务发布到API时,服务器端的模型属性总是空的。我不确定我做错了什么。我尝试了使用application/json和application/x-www-form-urlencoded的各种组合。我还尝试了[FromBody]和[FromForm]属性,在这两种情况下,我的模型上的属性都为null 我在发帖时是否在角度方面做错了什么 我已经验证了正在发布的jso

我有一个ASP.NETCore2.0项目,我正在使用它作为WebAPI。客户端使用Angular 4完成。当我将表单数据从angular服务发布到API时,服务器端的模型属性总是空的。我不确定我做错了什么。我尝试了使用
application/json
application/x-www-form-urlencoded
的各种组合。我还尝试了
[FromBody]
[FromForm]
属性,在这两种情况下,我的模型上的属性都为null

我在发帖时是否在角度方面做错了什么

我已经验证了正在发布的json字符串(如屏幕截图所示)是否包含预期的表单数据。但它在服务器上到达空值

这是我的角度发球

import { Injectable, OnInit } from '@angular/core';
import { Http, URLSearchParams, Headers, RequestOptions, Response } from '@angular/http';
import 'rxjs/add/operator/toPromise';
import 'rxjs/add/operator/mergeMap';

import { CryptoData } from './cryptodata.interface';
import { Result } from './result.model';

@Injectable()
export class EncryptService implements OnInit {
    private options: RequestOptions;

    constructor(private http: Http) {
        this.options = new RequestOptions({
                headers: new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' })
            })
    }

    ngOnInit() {
    }

    encrypt(data: CryptoData): Promise<Result> {
        let json: any = JSON.stringify(data);

        return this.http
        .post('/api/encrypt', json, this.options)
        .toPromise()
        .then(response => response.json());
    }

    decrypt(data: CryptoData) {

    }
}

[FromBody]内容类型:application/json对我来说非常适合,在asp net核心中有相同的请求。我从firefox中的插件发送数据:
{“key”:“1”,“content”:“cont”}


假设角度的东西是错误的-我不知道。
[Produces("application/json")]
[AllowAnonymous]
public class CryptoController : Controller
{
    [HttpPost("~/api/Encrypt")]
    public IActionResult Encrypt([FromForm] CryptoRequest request)
    {
        // Testing
        return base.Ok(new Result(data: request.Content));
    }
}