Как использовать файл Program.cs в .NET 6C#

Место общения программистов C#
Ответить
Anonymous
 Как использовать файл Program.cs в .NET 6

Сообщение Anonymous »

В последней версии .Net класс Startup и класс Program объединены, а операторы using и другие операторы упрощены и удалены из Program.cs. Я очень не понимаю, как использовать все это в одном файле.
Пожалуйста, помогите мне перенести все службы в файл program.cs.
Файл Startup.cs :
public class Startup
{
private readonly IConfigurationRoot configRoot;
private AppSettings AppSettings { get; set; }

public Startup(IConfiguration configuration)
{
Log.Logger = new LoggerConfiguration().ReadFrom.Configuration(configuration).CreateLogger();
Configuration = configuration;

IConfigurationBuilder builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json");
configRoot = builder.Build();

AppSettings = new AppSettings();
Configuration.Bind(AppSettings);
}

public IConfiguration Configuration { get; }

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

services.AddDbContext(Configuration, configRoot);

services.AddIdentityService(Configuration);

services.AddAutoMapper();

services.AddScopedServices();

services.AddTransientServices();

services.AddSwaggerOpenAPI();

services.AddMailSetting(Configuration);

services.AddServiceLayer();

services.AddVersion();

services.AddHealthCheck(AppSettings, Configuration);

services.AddFeatureManagement();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory log)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}

app.UseCors(options =>
options.WithOrigins("http://localhost:3000")
.AllowAnyHeader()
.AllowAnyMethod());

app.ConfigureCustomExceptionMiddleware();

log.AddSerilog();

//app.ConfigureHealthCheck();

app.UseRouting();

app.UseAuthentication();

app.UseAuthorization();
app.ConfigureSwagger();
app.UseHealthChecks("/healthz", new HealthCheckOptions
{
Predicate = _ => true,
ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse,
ResultStatusCodes =
{
[HealthStatus.Healthy] = StatusCodes.Status200OK,
[HealthStatus.Degraded] = StatusCodes.Status500InternalServerError,
[HealthStatus.Unhealthy] = StatusCodes.Status503ServiceUnavailable,
},
}).UseHealthChecksUI(setup =>
{
setup.ApiPath = "/healthcheck";
setup.UIPath = "/healthcheck-ui";
//setup.AddCustomStylesheet("Customization/custom.css");
});

app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}

Файл Program.cs:
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup();
});
}


Подробнее здесь: https://stackoverflow.com/questions/710 ... e-in-net-6
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»