无法让控制器在 vnext rc1 决赛中做出响应

本文关键字:响应 rc1 控制器 vnext | 更新日期: 2023-09-27 18:32:57

我最近将beta 6 vnext应用程序更新为rc1-final,事情又开始松散地工作了。 主要问题是我的控制器,我无法让它们响应任何事情,例如,一个控制器"test"有一个名为"pop"的 get 方法,通常我会运行该应用程序并能够在 Web 浏览器中点击它,但现在我得到一个状态 0 响应代码,没有返回,没有断点它。

我正在使用红隼,我在project.json中的命令是,

"kestrel": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://127.0.0.1:5000"

我的启动配置方法是,

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddCors();
    var policy = new CorsPolicy();
    policy.Headers.Add("*");
    policy.Methods.Add("*");
    policy.Origins.Add("*");
    policy.SupportsCredentials = true;
    services.Configure<CorsOptions>(x => x.AddPolicy("anyone", policy));
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    app.UseStaticFiles();
    app.UseMvc();
}

任何想法如何开始调试它?


更新:好的,所以问题归咎于我线程锁定主线程,与我最初假设的无关,我正在错误地等待一个任务,该任务阻止请求发送到控制器。

无法让控制器在 vnext rc1 决赛中做出响应

在配置方法上替换

app.UseMvc();

app.UseMvc(routes => {
    routes.MapRoute("Default", "{controller}/{action}/{id?}");
});

您还必须在启动中添加以下方法.cs

public static void Main(string[] args) => WebApplication.Run<Startup>(args);