---
title: "Deploy ASP.NET Core over MCP with while.sh"
url: https://while.sh/en/guides/deploy-aspnet-core/
author: "Aloïs Oddon, co-founder of Nextmap"
updated: 2026-11-02
---

# Deploy an ASP.NET Core app from your AI agent, over MCP

Your ASP.NET Core API or app is ready. Connected to while over MCP, your AI agent deploys it in France, with a ready-made .NET Dockerfile and its PostgreSQL database backed up every day.

## Prerequisites

- An ASP.NET Core app, with its .csproj file at the root of the repository.
- An AI agent that works in a terminal: Claude Code, Codex, Cursor or Gemini CLI.

## Step 1: Give your agent these instructions

Open your agent in your app's folder, and paste these instructions into it:

```text titre="Instructions"
Connect to while with my account (while.sh/agents), then deploy my app.
```

Without an account, your agent deploys your app as a trial, in one request. To keep it, open the link it gives you and create your account.

With your account, your agent adds while's MCP server itself. If it asks you to, restart it. On the first call to while, a page opens in your browser. In Claude Code, if it doesn't open, type /mcp, choose while, then Authenticate. On that page, choose your app, or "A new app", then click Authorize.

## Step 2: Open your app

Your agent gives you your app's address, for example `https://mon-appli.while.cloud`, over HTTPS.

## What your agent does

It writes while.yaml at the root of your app:

```yaml titre="while.yaml"
apiVersion: while/v1
project: mon-appli
services:
  - name: web
    port: 8080
    health:
      path: /health
databases:
  - name: main
```

ASP.NET Core is detected from its .csproj, and your agent receives a Dockerfile ready to build: `dotnet publish`, your project's .NET version, and while's port passed to Kestrel. Your agent adds it to your app, along with a two-line health check (source 1):

```csharp titre="Program.cs"
builder.Services.AddHealthChecks();
var app = builder.Build();
app.MapHealthChecks("/health");
```

## Read your database in SQL

> You, to your agent: How many people signed up today?

Your agent reads your database in SQL through while's MCP server, with your permissions on the data, and it can't write to it.

## Run a job every night

> You, to your agent: Run the data import every night at 3 am.

Your agent declares a scheduled job, which starts at that time with the same code and the same variables. If it fails, your agent is notified.

## Restrict your app to your colleagues

> You, to your agent: Restrict the app to people in the company.

Your agent adds two lines to the service:

```yaml titre="while.yaml"
    access: internal
    email_domains: [acme.com]
```

Once your Google Workspace or Microsoft 365 is linked to while, on the Pro plan, your colleagues open it with their usual account, and your code receives their name and email address, with no sign-in page to write.

## Move to your own domain

> You, to your agent: Put the app on app.acme.com.

Your agent declares the domain, you add the DNS records it gives you, and the HTTPS certificate follows.

## Fix a vulnerability in your dependencies

> You, to your agent: Fix the vulnerabilities in our dependencies.

Your app's dependencies are checked against known vulnerabilities at every deployment, then every day. Your agent is warned of a serious vulnerability, and it updates the package involved.

## Go back to the previous version

> You, to your agent: Go back to the previous version.

In the 30 minutes after a deployment, the previous version comes back in a second. After that, it takes a few seconds. Once the previous version is back, your agent reads what broke in while's logs, fixes it and deploys again.

## Next steps

- [Deploy a Docker container](/en/guides/deploy-docker-container/)
- [Restrict your app to people in your company](/en/guides/internal-tool-company-sign-in/)
- [Choose a French PaaS](/en/comparisons/french-paas/)

## Sources

1. [Microsoft, health checks in ASP.NET Core](https://learn.microsoft.com/aspnet/core/host-and-deploy/health-checks), 2026-11-02

## Questions

### Do I need to write a Dockerfile?

No. ASP.NET Core is detected, and your agent receives a Dockerfile ready to build. If your project already has its own, it is used to build the image.

### Which version of .NET?

The one in your .csproj: the Dockerfile uses it.

### Does it work with Entity Framework Core and PostgreSQL?

Yes, with Npgsql: your agent connects while's database and runs your migrations.

### Where is my app hosted?

In France, by Nextmap, a French company.
