# Fundamentals

ASP.NET Core apps created with the web templates contain the application startup code in the `Program.cs` file. A file where:

* Services required by the app are configured.
* The app's request handling pipeline is defined as a series of middleware components.

{% code title="Program.cs" %}
```csharp
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddControllersWithViews();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseAuthorization();

app.MapGet("/hi", () => "Hello!");

app.MapDefaultControllerRoute();
app.MapRazorPages();

app.Run();
```
{% endcode %}
