我有一个现有的Dotnet Core 2.0控制台应用程序,它是一个长期运行的应用程序(直到用户退出)。
我想给它添加一个RESTAPI,并想添加一个AspNet核心MVC来实现这一点,然而当我访问时,我得到的只是一个404
http://localhost:5006/api/values
红隼正在工作并接收请求,但它没有发送到我的控制器!
我已将NuGet软件包添加到Microsoft。微软AspNetCore。AspNetCore。Mvc。我还添加了对Microsoft的引用。AspNetCore。但这一切都没有工作,所以我现在删除它,因为我不需要所有的膨胀。
我在应用程序中称之为static Main()
private static void StartWeb()
{
var host = WebHost
.CreateDefaultBuilder()
.UseKestrel()
.UseStartup<WebStartup>()
.UseUrls("http://*:5006")
.Build();
host.Start();
}
这是WebStartup类
namespace myApp
{
public class WebStartup
{
public IConfiguration Configuration { get; }
public WebStartup(IConfiguration configuration)
{
Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
}
}
}
最后,在Controllers文件夹中,我有一个名为valuescontroller的类
namespace myApp.Controllers
{
[Produces("application/json")]
[Route("api/[controller]")]
class ValuesController : Controller
{
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
}