asp.net core post json data with name property with too slow with non localhost url

时间:2017-12-20 11:48:30

标签: asp.net-core-webapi

在visual studio中创建asp.net核心web api项目(dotnet core 2.0) 它将使用get,post,put和delete方法创建一个值控制器

更新program.cs以使api在非localhost接口中也可访问。

public static IWebHost BuildWebHost(string[] args) => 
   WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .UseUrls("http://0.0.0.0:61160")
                .Build();

运行该应用程序并将{&#34; name&#34;:&#34; abc&#34;}发布到http:// {machine}:61160 / api / values url。获得响应需要6秒以上。如果您将URL更改为localhost或将json中的name属性重命名为其他内容,您将立即得到响应。

有人遇到过这个奇怪的问题吗?

这是默认控制器的代码,它只是自动生成的样本控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace TestApp.Controllers
{
    [Route("api/[controller]")]
    public class ValuesController : Controller
    {
        // GET api/values
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/values/5
        [HttpGet("{id}")]
        public string Get(int id)
        {
            return "value";
        }

        // POST api/values
        [HttpPost]
        public void Post()
        {
         var data =new StreamReader(Request.Body).ReadToEnd();
        }

        // PUT api/values/5
        [HttpPut("{id}")]
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/values/5
        [HttpDelete("{id}")]
        public void Delete(int id)
        {
        }
    }
}

0 个答案:

没有答案