Hangfire .Net Core 404 - PullRequest
       28

Hangfire .Net Core 404

0 голосов
/ 27 июня 2018

Мы пытаемся использовать hangfire с ядром .Net, развернутым в Linux. Мы можем локально запускать и просматривать панель мониторинга Hangfire и другие страницы, такие как списки, задания и т. Д. Но когда мы развертываем код, мы видим панель мониторинга, но все css и js и ссылки указывают вместо этого на домен / hangfire / домена / appname / hangfire.

public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider)
{
    IConfigurationService confiuration = (IConfigurationService)serviceProvider.GetService(typeof(IConfigurationService));
    app.Use((context, next) =>
    {
        var pathBase = context.Request.Headers["X-Forwarded-PathBase"];
        context.Request.PathBase = new PathString(pathBase);
        return next();
    });

    app.UseCors(builder =>
    builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().AllowCredentials());

    if (!env.IsProduction())
    {
        app.UseDeveloperExceptionPage();
    }
    app.UseSwagger(c =>
    {
        c.PreSerializeFilters.Add((swaggerDoc, httpReq) => swaggerDoc.BasePath = Configuration["Swagger:BasePath"]);
    });

    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint(Configuration["Swagger:JSONLocation"], "My Scheduler API V1");
        c.DocExpansion(DocExpansion.None);
    });
    app.UseAuthentication();
    //app.UseMiddleware<BasicAuthMiddleware>(confiuration.ApplicationUri);
    app.UseBasicAuthentication(confiuration.ApplicationUri);

    var options = new DashboardOptions
    {
        Authorization = new[] { new HangfireAuthorizationFilter() }
    };
    app.UseHangfireDashboard("/hangfire", options);
    app.UseHangfireServer();

    SchedulerInitializer.InitializeScheduler(confiuration);

    app.UseMvc();
}
...