How to Host an ASP.NET Website
To host an ASP.NET website, publish the project to a folder, upload its contents to a Windows Server account running IIS, match the application pool to the runtime (.NET Framework 4.8 or .NET 8) and add the MS SQL connection string. WebJi® Windows plans with MS SQL start at ₹2,300 a year before 18% GST.
For .NET developers and agencies deploying Web Forms, MVC or ASP.NET Core sites to shared Windows hosting or a Windows VPS.
knowledge
- Read time
- 7 min
- Sections
- 12
- Updated
- 14 Nov 2026
- Written by
- WebJi® team
Last editorial update: 14 November 2026. Prices follow the dated sources on this page; checkout confirms current charges.
What does an ASP.NET website need from a host?
An ASP.NET site needs Windows Server with IIS, the exact .NET runtime the project targets, a folder IIS uses as the site root, and SQL Server if the app uses a database. .NET Framework apps (Web Forms, MVC 5) run only on Windows; ASP.NET Core can also run on Linux behind Nginx.
| Project | Runtime | Shared Windows hosting | Needs a Windows VPS when |
|---|---|---|---|
| Web Forms, MVC 5, Web API 2 | .NET Framework 4.8 | Yes | It needs custom IIS modules or COM components |
| ASP.NET Core MVC, Razor Pages, API | .NET 8 (confirm newer versions with support) | Yes, on the listed runtime | It targets a runtime the plan does not offer |
| Blazor Server | .NET 8 | Yes, for modest concurrent users | Many simultaneous SignalR connections |
| Windows service or scheduled console job | Any | No | Always, since it runs outside IIS |
WebJi® ASP.NET hosting lists .NET Framework 4.8 and .NET 8 on its Windows plans, with Plesk and MS SQL Server included.
How do you publish an ASP.NET project for hosting?
Publish the project to a folder first; publishing compiles the code and copies only the files needed at run time, and that folder's contents are what you upload. Uploading the raw project folder is the usual cause of exposed source files or compile errors on a first deployment.
# ASP.NET Core, framework-dependent (server already has the runtime)
dotnet publish -c Release -o ./publish
# ASP.NET Core, self-contained (runtime travels with the app)
dotnet publish -c Release -r win-x64 --self-contained true -o ./publish
# .NET Framework, with a folder publish profile created in Visual Studio
msbuild MyApp.csproj /p:DeployOnBuild=true /p:PublishProfile=FolderProfile
In Visual Studio the same result comes from Build → Publish → Folder. A self-contained publish is larger but avoids depending on the host's installed runtime.
How do you upload the site and set it up in IIS or Plesk?
Upload the contents of the publish folder so that the site's entry files sit directly in the document root, then make sure the IIS application pool matches the runtime. On shared Windows hosting, Plesk creates the IIS site and binding for you.
| Method | Best for | Note |
|---|---|---|
| Web Deploy | Repeat deployments from Visual Studio | Syncs only changed files and can apply web.config transforms |
| FTP / FTPS | A one-off upload | Copies everything; no dependency tracking |
| Plesk Git | Teams pushing from a repository | Pulls a branch and can run a deploy action |
- Pool CLR version: v4.0 for .NET Framework 4.x; "No Managed Code" for ASP.NET Core.
- Separate pools: never mix a Framework site and a Core site in one pool.
- Write permissions: App_Data and upload folders must allow the pool identity to write.
- Zero-downtime swap: placing an
app_offline.htmfile in the root stops the app cleanly while files are replaced; delete it afterwards.
How do you connect an ASP.NET site to MS SQL Server?
Create the database and a mapped user in Plesk, then put one connection string in web.config (Framework) or appsettings.json (Core) using the server name Plesk shows, not localhost. Test a page that runs a query before you change DNS.
<!-- web.config, .NET Framework -->
<connectionStrings>
<add name="Default" providerName="System.Data.SqlClient"
connectionString="Server=MSSQL_HOST;Database=acct_shop;User Id=acct_user;Password=********;" />
</connectionStrings>
// appsettings.json, ASP.NET Core
"ConnectionStrings": {
"Default": "Server=MSSQL_HOST;Database=acct_shop;User Id=acct_user;Password=********;Encrypt=True;"
}
Microsoft.Data.SqlClient 4.0 and later encrypt by default, so a server whose certificate your app does not trust fails with a certificate error. Ask the host before adding TrustServerCertificate=True, which skips that check. "Login failed for user" means the server was reached but the user, password or database mapping is wrong. Keep production credentials out of public source control.
How do you fix IIS errors after deploying ASP.NET?
Read the IIS status code and sub-code first; each points to a specific cause, from a malformed web.config to a missing runtime. Changing files at random usually makes it worse.
| Error | Meaning | Fix |
|---|---|---|
| 500.19 | web.config cannot be read | Fix malformed XML, a duplicate or locked section, or a missing module |
| 500.30 | Core app started and crashed | Enable the stdout log and read the exception |
| 500.31 | ASP.NET Core Module cannot find the runtime | Install the matching Hosting Bundle or publish self-contained |
| 500.32 | Wrong bitness (32/64-bit) for the pool | Match the pool's 32-bit setting to the build |
| 403.14 | No default document | Add default.aspx or check routing |
| 404.3 | No handler for the extension | Enable the feature or MIME type in IIS |
For ASP.NET Core, set stdoutLogEnabled="true" and stdoutLogFile=".\logs\stdout" on the <aspNetCore> element in web.config, create the logs folder, reproduce the error and read the file, then switch logging off. For .NET Framework, set <customErrors mode="Off"/> briefly to see the exception, and turn it back on before leaving the site public.
What does ASP.NET hosting cost at WebJi®?
WebJi® Windows shared hosting with MS SQL costs ₹2,300 (Win-SQLPro), ₹4,200 (Win-SQLDev) or ₹8,400 (Win-SQLDev+) a year before 18% GST; Windows VPS servers start at ₹5,900 a month with the Windows licence included. Final amounts are confirmed at checkout.
| Option | Price | Fits |
|---|---|---|
| Win-SQLPro | ₹2,300/year | A single production Web Forms or Core site |
| Win-SQLDev | ₹4,200/year | Apps with heavier MS SQL reporting |
| Win-SQLDev+ | ₹8,400/year | Larger databases and more traffic |
| Windows VPS (Cloud Entry) | ₹5,900/month | Full IIS, Remote Desktop, own pools, services and scheduled tasks |
Move from shared to a Windows VPS when the panel reports CPU throttling, pools recycle from memory pressure, or the app needs a Windows service. The server-side walkthrough is in hosting a website on a Windows VPS. Send support@webji.services the IIS error code, .NET version and publish command if you get stuck; replies come 24/7 in Hindi and English.
Frequently asked questions
Can ASP.NET Core run on cheaper Linux hosting?
Yes, ASP.NET Core runs on Linux with the Kestrel server behind Nginx, but shared Linux hosting rarely supports long-running .NET processes, so it usually means a Linux VPS. If the app also needs MS SQL Server features, Windows hosting is the simpler path.
How do I move an MS SQL database to a new host?
Take a .bak backup on the old server, or generate a script or BACPAC if you lack backup rights, then restore it through the new host's database tools. Update the connection string with the new server name and test a query page before switching DNS.
Why does my site lose logged-in users randomly?
The application pool recycles on a schedule or memory limit, and in-process session state is lost when it does. Store sessions in SQL Server or a state server, or use cookie-based authentication, so users stay logged in across recycles.
Do I need a Microsoft licence to host ASP.NET?
Not separately on hosting plans. Shared Windows plans include the Windows Server and SQL Server usage, and WebJi® Windows VPS prices include the Windows Server licence. Visual Studio Community is free for individuals and small teams to build the app.
Commands and error codes checked against Microsoft Learn documentation for IIS and ASP.NET Core · Prices as published on the WebJi® Windows hosting pages · Reviewed by the WebJi® team, Jaipur.
Ready to get started with WebJi®?
Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.