无法让控制器在 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();
}
任何想法如何开始调试它?
更新:好的,所以问题归咎于我线程锁定主线程,与我最初假设的无关,我正在错误地等待一个任务,该任务阻止请求发送到控制器。
在配置方法上替换
app.UseMvc();
跟
app.UseMvc(routes => {
routes.MapRoute("Default", "{controller}/{action}/{id?}");
});
您还必须在启动中添加以下方法.cs
public static void Main(string[] args) => WebApplication.Run<Startup>(args);