Серверный компонент Blazor не может перенаправить на базовый URL-адрес после развертывания в IIS

#iis #blazor-server-side

#iis #blazor-на стороне сервера

Вопрос:

Мы развернули наше серверное приложение Blazor в IIS, при просмотре получаем страницу входа с http://someIp/WebTool URL после входа в систему следующий компонент перенаправляет на http://someIp/Dashboard но нам нужно что-то вроде http://someIp/WebTool/Dashboard .Webtool отсутствует после IP, который мы пытались изменить в _Host.cshtml, но это бесполезно, может кто-нибудь, пожалуйста, сообщите нам, где мы ошибаемся. Мы также попробовали и app.UsePathBase(«/Webtool»); в Startup.cs. Любые предложения помогут, заранее спасибо

  public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UsePathBase("/UpgradeWeb");
            app.UseStaticFiles();
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
               
                app.UseHsts();
            }
             
            app.UseHttpsRedirection();
            app.UseRouting();
            app.UseAuthentication();
            app.UseAuthorization();
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapBlazorHub();
                endpoints.MapFallbackToPage("/_Host");
            });
        }
 public void ConfigureServices(IServiceCollection services)
        {
            services.AddRazorPages();
            services.AddServerSideBlazor();
            services.AddScoped<AuthenticationStateProvider, CustomAuthenticationStateProvider>();
            services.Configure<ToolConfig>(Configuration.GetSection("ToolConfig"));
            services.AddScoped<IUserService, UserService>();
            services.AddSingleton<HttpClient>();
            var appSettingSection = Configuration.GetSection("AppSettings");
            services.Configure<ApiKeyDetails>(Configuration.GetSection("ApiKeyDetails"));
            services.Configure<WebAppSettings>(appSettingSection);
            services.AddScoped<InvokeApiHandler>(); 
            services.AddScoped<SessionService>();
            services.AddScoped<DashboardService>();
            services.AddScoped<UpgradeRequestService>();
            services.AddScoped<Information>();
            services.AddScoped<ReportsService>();
            services.AddScoped<MasterConfigurationService>();
            services.AddScoped<UserMappingService>();
            services.AddScoped<RolesService>();
            services.AddScoped<AllReportsService>();
            services.AddScoped<JiraService>();
            services.AddScoped<NotificationService>();
            services.AddBlazoredSessionStorage();
        }
  

Комментарии:

1. Можете ли вы показать конфигурацию служб в Startup.cs? Я думаю, что это какая-то конфигурация в Identity.

2. Привет, @Ricardo добавил startup.cs, пожалуйста, проверьте

3.используете ли вы Preview3? github.com/dotnet/aspnetcore/issues/9410 .Чтобы обеспечить конфигурацию для базового пути приложения Blazor к contoso.com/CoolApp , атрибут href тега <base> устанавливается на относительный корневой путь в файле Pages/_Host.cshtml (сервер Blazor) или wwwroot/index.html файл (Blazor WebAssembly): <base href="/CoolApp/"> learn.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy /…