无法让控制器在vnext rc1-final中做出响应

时间:2016-02-03 10:25:33

标签: c# asp.net-core

我最近将一个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();
}

任何想法如何开始调试?

更新:好的,问题是由于线程锁定主线程并且与我首先假设的无关,我正在等待一个错误的任务,这阻止了请求进入控制器。

1 个答案:

答案 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);