.NetCore 2.1 API运行正常,但无法达到ulr

时间:2018-12-06 06:29:59

标签: api asp.net-core-2.1

我正在学习.NetCore 2.1 API部分。另外,我需要说的是,我之前没有使用API​​的经验。 我找到了这个tutorial进行研究,完成了第3部分,但是我的API没有响应。当我输入http://localhost:5000/api/values的浏览器URL时,我得到的唯一答复是该站点无法访问。我应该如何在这里寻找错误?我会在这里编写代码,但我不知道缺陷部分在哪里。 谢谢。

launchSettings.json

{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false, 
"anonymousAuthentication": true, 
"iisExpress": {
  "applicationUrl": "http://localhost:56030",
  "sslPort": 44334
}
},
"profiles": {
"IIS Express": {
  "commandName": "IISExpress",
  "launchBrowser": false,
  "launchUrl": "api/values",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
},
"AccountOwnerServer": {
  "commandName": "Project",
  "launchBrowser": false,
  "launchUrl": "api/values",
  "applicationUrl": /*"https://localhost:5001;*/"http://localhost:5000",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }  } }  }

startup.cs

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        LogManager.LoadConfiguration(String.Concat(Directory.GetCurrentDirectory(), "/nlog.config"));
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.ConfigureCors();
        services.ConfigureIISIntegration();
        services.ConfigureLoggerService();
        services.AddMvc();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseCors("CorsPolicy");

        app.UseForwardedHeaders(new ForwardedHeadersOptions
        {
            ForwardedHeaders = ForwardedHeaders.All
        });

        app.Use(async (context, next) =>
        {
            await next();

            if (context.Response.StatusCode == 404
                && !Path.HasExtension(context.Request.Path.Value))
            {
                context.Request.Path = "/index.html";
                await next();
            }
        });

        app.UseStaticFiles();

        app.UseMvc();
    }
}

valuesController.cs

[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
    private ILoggerManager _logger;

    public ValuesController(ILoggerManager logger)
    {
        _logger = logger;
    }
    //GET api/values
    [HttpGet]
    public IEnumerable<string> Get()
    {
        _logger.LogInfo("Here is info message from our values controller.");
        _logger.LogDebug("Here is debug message from our values controller.");
        _logger.LogWarn("Here is warn message from our values controller.");
        _logger.LogError("Here is error message from our values controller.");

        return new string[] { "value1", "value2" };
    }}

0 个答案:

没有答案