Случайная: Невозможно привязать к http://localhost:28575 в интерфейсе обратной связи IPv4: «Ошибка -4092 Отказано в разрешении EACCES» в .Net Core - PullRequest
0 голосов
/ 10 марта 2019

В последнее время программное обеспечение периодически отключается, и это обычно отображается в журналах:

Невозможно выполнить привязку к http://localhost:28575 в интерфейсе обратной связи IPv4: 'Ошибка -4092 EACCES разрешение отклонено '.

Этот порт (28575) постоянно меняется!Хотя я использовал этот код:

.UseUrls("http://localhost:29983")

Конечно, иногда, без записи каких-либо исключений в журналах, отображается ошибка 403 и программное обеспечение завершает работу.

Запуск.cs: ​​

public void ConfigureServices(IServiceCollection services)
    {
        services.AddDataProtection();

        services.AddScoped<IUnitOfWork, UnitOfWork>();
        services.AddDbContext<AppDbContext>(options => options.UseSqlServer("Server =.;Database=***;User Id=***;Password=***;MultipleActiveResultSets=true;",b=> b.UseRowNumberForPaging()));
        services.AddIdentity<ApplicationUser, IdentityRole>(options =>
         {
             options.Password.RequiredLength = 6;
             options.Password.RequireLowercase = false;
             options.Password.RequireUppercase = false;
             options.Password.RequireDigit = false;
             options.Password.RequireNonAlphanumeric = false;
             options.Password.RequiredUniqueChars = 1;

         }).AddEntityFrameworkStores<AppDbContext>().AddDefaultTokenProviders();

        services.AddSingleton<IUnitOfWork, UnitOfWork>();

        // store cache in db :
        services.AddSession();
        services.AddSingleton<Microsoft.AspNetCore.Authentication.Cookies.ITicketStore, Controllers.DistributedCacheTicketStore>();
        services.AddDistributedSqlServerCache(options =>
        {
            options.ConnectionString = @"Server =.;Database=***;User Id=***;Password=***;MultipleActiveResultSets=true;";
            options.SchemaName = "dbo";
            options.TableName = "AppSqlCache";
        });

        services.AddAuthorization(options =>
        {
            options.AddPolicy("myAuthorize", policy => policy.Requirements.Add(new Controllers.HasScopeRequirement("myAuthorize")));
        });


        services.AddSingleton<Microsoft.AspNetCore.Authorization.IAuthorizationHandler, Controllers.HasScopeHandler>();

        services.AddMvcActionsDiscoveryService();
        services.ConfigureApplicationCookie(options =>
        {
            // Cookie settings
            options.SessionStore = services.BuildServiceProvider().GetService<Microsoft.AspNetCore.Authentication.Cookies.ITicketStore>();
            options.ExpireTimeSpan = TimeSpan.FromDays(5);
            options.SlidingExpiration = true;
            options.AccessDeniedPath = "/Home/AccessDenied";
            options.Events.OnRedirectToLogin = context =>
            {
                context.Response.StatusCode = StatusCodes.Status401Unauthorized;
                return Task.CompletedTask;
            };
        });

        services.AddMvc();

        services.Configure<GzipCompressionProviderOptions>(options => options.Level = System.IO.Compression.CompressionLevel.Optimal);
        services.AddResponseCompression();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseStatusCodePagesWithReExecute("/Home/error/{0}");
        app.UseExceptionHandler("/Home/error/{0}");

        app.UseStaticFiles(new StaticFileOptions
        {
            OnPrepareResponse = context =>
            {
                // Cache static file for 1 year
                if (!string.IsNullOrEmpty(context.Context.Request.Query["v"]))
                {
                    context.Context.Response.Headers.Add("cache-control", new[] { "public,max-age=2628000" });  // month=2628000, year = 31536000
                    context.Context.Response.Headers.Add("Expires", new[] { DateTime.UtcNow.AddMonths(1).ToString("R") }); // Format RFC1123
                }
            }
        });

        app.UseResponseCompression();

        app.UseAuthentication();

        app.UseSession();

        app.UseMvc(routes =>
        {
            routes.MapRoute("AreaRoute", "{area:exists}/{controller=Account}/{action=Login}/{id?}");

            routes.MapRoute("FirstPage", "{controller=Account}/{action=Login}/{id?}");

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

        });
        SeedData.EnsurePopulated(app);

    }
...