如何使用ASP.NET MVC 6将表单数据从后端发布到另一个URL?

时间:2016-02-07 10:42:20

标签: asp.net .net json asp.net-mvc rest

我的app后端有一些数据需要从我的应用程序发布到另一个应用程序。

我正在考虑创建表单,填充数据并在onLoad中使用javascript自动发布。但这对我来说似乎有些过时的做法。使用ASP.NET 5& amp;从后端发布到其他应用程序的URL的正确方法是什么? MVC6功能?

注意:最好是JSON& RESTful设计(控制器将接受另一端的数据),虽然我不认为这应该改变任何东西。

1 个答案:

答案 0 :(得分:1)

你应该可以使用例如普通的HttpClient。这是来自MS博客的example

using System.Net.Http;
using (var client = new HttpClient())
{
    var baseUri = "http://playapi.azurewebsites.net/api/products";
    client.BaseAddress = new Uri(baseUri);
    client.DefaultRequestHeaders.Accept.Clear();
    var response = await client.GetAsync(baseUri);
    if (response.IsSuccessStatusCode)
    {
        var responseJson = await response.Content.ReadAsStringAsync();
        //do something with the response here. Typically use JSON.net to deserialise it and work with it
    }
}

这是一个GET示例,但POST应该非常相似。如果你控制两个服务器,那么你可以使用一个名为Swagger(和Swashbuckle nuget package for .NET)的奇特东西。它是REST API的一种WSDL,它可以生成完整的代理来访问你的API,类似于WCF所做的+一个包含文档和测试表单的漂亮页面。

P.S。不确定Swashbuckle for ASP.NET Core的状态,但Nuget上也提供了预发布版本。