Я получаю эту ошибку на publi sh asp. net core 2.2 на хосте IIS - PullRequest
0 голосов
/ 08 мая 2020

Я столкнулся с очень странной ошибкой в ​​приложении ...

Я разрабатываю свое приложение на asp. net ядро ​​2.2 сначала с кодом, я делаю миграцию из Visual Studio на SQL Server On Host для создания базы данных, таблиц и вставки данных очень хорошо работает.

после этого выполните тест с locahost с базой данных на хосте, все снова работает нормально.

Но после загрузки файлов publi sh на сервер (хостинг IIS) появляется эта ошибка ...

enter image description here

действительно это безумие

вот мой код, что мне не хватает?

public void ConfigureServices(IServiceCollection services)
    {

        services.AddDbContextPool<ApplicationDbContext>
            (option => option.UseSqlServer(Configuration.GetConnectionString("Connection")));

        services.Configure<CookiePolicyOptions>(options =>
        {
            options.CheckConsentNeeded = context => false;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });

        services.ConfigureApplicationCookie(options =>
        {
            options.Cookie.Name = ".AspNetCore.Identity.Application";
            options.Cookie.IsEssential = true;
            options.Cookie.Path = "/";
            options.Cookie.SameSite = SameSiteMode.Strict;
            options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;
        });

        #region language
        services.AddMvc()
            .AddViewLocalization(Microsoft.AspNetCore.Mvc.Razor.LanguageViewLocationExpanderFormat.Suffix)
            .AddDataAnnotationsLocalization(options =>
            {
                options.DataAnnotationLocalizerProvider = (type, factory) =>
                {
                    var assemblyName = new AssemblyName(typeof(SharedResource).GetTypeInfo().Assembly.FullName);
                    return factory.Create("SharedResource", assemblyName.Name);
                };
            });
        services.AddTransient<LocalizationService>();
        services.AddLocalization(options => options.ResourcesPath = "Resources");
        services.Configure<RequestLocalizationOptions>(
            options =>
            {
                var supportedCultures = new List<CultureInfo>
                    {
                        new CultureInfo("ar-EG"),
                        new CultureInfo("en-US"),
                    };
                //options.DefaultRequestCulture = new RequestCulture(culture: "ar-EG", uiCulture: "en-US");
                options.DefaultRequestCulture = new RequestCulture("en-US");
                options.SupportedCultures = supportedCultures;
                options.SupportedUICultures = supportedCultures;
                options.RequestCultureProviders.Insert(0, new QueryStringRequestCultureProvider());
            });
        #endregion

        services.AddDefaultIdentity<ExtendIdentityUser>(options =>
        {
            options.Password.RequiredLength = 8;
            options.Password.RequireUppercase = false;
            options.Password.RequireNonAlphanumeric = false;
            options.Password.RequiredUniqueChars = 0;
            options.Password.RequireLowercase = false;
        })
        .AddEntityFrameworkStores<ApplicationDbContext>();

        services.AddScoped<IUnitOfWork, UnitOfWork>();
        services.AddScoped<IExtendIdentityUser, ExtendIdentityUserRepository>();

        services.AddMvc(opts =>
        {
        }).SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
        .AddJsonOptions(opt => opt.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);

    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            app.UseDatabaseErrorPage();
        }
        else
        {

        }

        var locOptions = app.ApplicationServices.GetService<IOptions<RequestLocalizationOptions>>();
        app.UseRequestLocalization(locOptions.Value);

        app.UseStaticFiles();
        app.UseCookiePolicy();
        app.UseAuthentication();

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

    }



{
  "ConnectionStrings": {
    "Connection": "Server=**ServerName*;Database=*database*;User Id=*UserName*;password=******;Trusted_Connection=False;MultipleActiveResultSets=true;"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

public class ApplicationDbContext : IdentityDbContext<ExtendIdentityUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {

    }

    public new DbSet<ExtendIdentityUser> Users { get; set; }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
        ModelBuilderExtensions.Seed(builder);
    }
}
...