Asp.net核心网站在大约50个请求后挂起

时间:2018-03-11 12:21:05

标签: asp.net-core iis-express

我使用asp net core 2.0并且遇到了非常奇怪的行为(至少我在IIS本地看到它)。我打开网站页面然后按刷新按钮约50次,网站开始挂起,处理请求大约需要40秒。然后在大约5分钟的闲置后,我再次刷新页面,一切都很快。接下来~50个请求再次挂起。我对此非常困惑,并且没有想法是什么原因以及如何排除故障。我从代码中删除了所有内容,只剩下基本代码,它仍然可以重现。

我的启动课看起来如此:

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    //public void ConfigureServices(IServiceCollection services)
    public IServiceProvider ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();

        return services.BuildServiceProvider();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.Use(async delegate(HttpContext context, Func<Task> next)
        {
            await next.Invoke();
        });

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            app.UseBrowserLink();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseStaticFiles();

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
    }
}

控制器操作不执行任何操作,只返回View。在调试中,我经常看到它挂起“等待next.Invoke();” line(我已经添加了这个委托仅用于调试)但是我不确定问题是否正好在执行中。

也许有人知道什么是原因或我如何解决它?

1 个答案:

答案 0 :(得分:0)

看起来问题以意想不到的方式解决了 - 我更新了Visual Studio,因为我看到IIS也随之更新。