我最近将一个beta 6 vnext应用更新到了rc1-final,事情又开始变得松散了。主要问题是我的控制器,我无法让他们回应任何事情,例如,一个控制器'test'有一个名为'pop'的get方法,通常我会运行应用程序并能够在网络上点击它浏览器,但现在我得到状态0响应代码,没有回复,没有断点。
我在project.json中使用了kestrel和我的命令,
"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();
}
任何想法如何开始调试?
更新:好的,问题是由于线程锁定主线程并且与我首先假设的无关,我正在等待一个错误的任务,这阻止了请求进入控制器。
答案 0 :(得分:0)
在您的配置方法替换
app.UseMvc();
与
app.UseMvc(routes => {
routes.MapRoute("Default", "{controller}/{action}/{id?}");
});
您还必须在Startup.cs中添加以下方法
public static void Main(string[] args) => WebApplication.Run<Startup>(args);