У меня есть Asp. net Core 2.2, который работает на моем локальном хосте. Но когда я публикую sh его на своем хост-сервере и вызываю обычный apis, который работает локально, я получаю обратно "Ошибка HTTP 400. Запрос плохо сформирован."
Здесь это мое стартап приложение. Используй .. методы
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCors(x => x.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
app.UseAuthentication();
app.UseCookiePolicy();
app.UseStatusCodePages();
if (!useSql)
{
app.UseHangfireServer();
}
app.UseHangfireDashboard();
app.UseMvc(options =>
{
options.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
Вот мой файл Program.cs. Я не знаю, чего не хватает.
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("########## Starting Application ############");
ConfigureNLog();
var host = CreateWebHostBuilder(args).Build();
using (var scope = host.Services.CreateScope())
{
var db = scope.ServiceProvider.GetService<ApplicationDbContext>();
if (db.Database.GetPendingMigrations().Any())
{
//context.Database.MigrateAsync(); // update if there are any
db.Database.Migrate();
}
}
host.Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("https://*:5001")
.ConfigureLogging(builder =>
{
builder.ClearProviders(); // clear other providers
builder.SetMinimumLevel(LogLevel.Trace); //minimum level: Trace
})
.UseNLog()
.UseStartup<Startup>();
private static void ConfigureNLog()
{
var config = new LoggingConfiguration();
var consoleTarget = new ColoredConsoleTarget("coloredConsole")
{
Layout = @"${date:format=HH\:mm\:ss} ${level} ${message} ${exception}"
};
config.AddTarget(consoleTarget);
var fileTarget = new FileTarget("file")
{
FileName = "${basedir}/file.log",
CreateDirs = true,
ConcurrentWrites = true,
EnableArchiveFileCompression = true,
Layout = @"${date:format=HH\:mm\:ss} ${level} ${message} ${exception} ${ndlc}"
};
config.AddTarget(fileTarget);
config.AddRule(NLog.LogLevel.Trace, NLog.LogLevel.Fatal, consoleTarget, "Soar.*");
config.AddRule(NLog.LogLevel.Info, NLog.LogLevel.Fatal, consoleTarget);
config.AddRule(NLog.LogLevel.Warn, NLog.LogLevel.Fatal, fileTarget);
//config.AddRule(NLog.LogLevel.Error, NLog.LogLevel.Fatal, fileTarget);
LogManager.Configuration = config;
}
}