У меня есть asp net core web api.
Я могу запустить его с помощью команды dotnet , он запускается на https://localhost:5001/ (как и должно быть), и все работает нормально.
Но когда я пытаюсь запустить API, используя IIS Express или IIS , он не достигает страницы и выдает мне ошибка 500.30 :
Я включил logs в web.config, и это результат:
Исключение при запуске приложения: System.InvalidOperationException: приложение работает внутри процесса IIS, но не настроено на использование сервера IIS.в Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter. <> c__DisplayClass2_0.b__0 (приложение IApplicationBuilder) в Microsoft.AspNetCore.HostFilteringStartupFilter. <> c__DisplayClass0_splication.artup.Hort.Inter.File.Fu.Inter.Fit.> c__DisplayClass0_0.b__0 (сборщик IApplicationBuilder) в Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication () crit: Microsoft.AspNetCore.Hosting.Internal.WebHost [6] Исключение при запуске приложения System.InvalidOperationException: приложение выполняется внутри Iне настроен на использование сервера IIS.в Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter. <> c__DisplayClass2_0.b__0 (приложение IApplicationBuilder) в Microsoft.AspNetCore.HostFilteringStartupFilter. <> c__DisplayClass0_splication.artup.Hort.Inter.File.Fu.Inter.Fit.> c__DisplayClass0_0.b__0 (сборщик IApplicationBuilder) в Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication () Хостинговая среда: корневой путь к производственному контенту: D: _APICore Сейчас прослушивается: http://localhost:5000 Приложение запущено.Нажмите Ctrl + C, чтобы выключить.
Тогда у меня ошибка в Просмотр событий тоже (по-итальянски):
Наконец, это Program.cs :
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>();
Надеюсь, что вся эта информация поможет.Спасибо за любую помощь.
ОБНОВЛЕНИЕ
StartUp.cs :
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)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
//Authorization settings
services.AddCors(c => c.AddPolicy("Permissions", builder => {
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
}));
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new CorsAuthorizationFilterFactory("Permissions"));
});
services.Configure<Values>(Configuration.GetSection("StoredValues"));
//JWT setting configuration
var appSettings = Configuration.GetSection("StoredValues");
var key = appSettings.GetValue(typeof(string), "JWTSecret").ToString();
services.AddAuthentication(x =>
{
x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(x =>
{
x.RequireHttpsMetadata = false;
x.SaveToken = true;
x.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(key)),
ValidateIssuer = false,
ValidateAudience = false
};
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
loggerFactory.AddLog4Net();
app.UseHttpsRedirection();
app.UseMvc();
app.UseCors("Permissions");
app.UseAuthentication();
app.UseDefaultFiles();
app.UseStaticFiles();
}
ОБНОВЛЕНИЕ 2
Я нашел несколько старшеверсия программы, и они тоже не работают.
Так что теперь мне интересно, если это моя проблема или что-то еще ???
Может быть, какое-то обновление?Я действительно не знаю.