What ASP.NET needs from hosting
The stack decides it — match the runtime to the hosting:
- .NET Framework (4.8-class) — needs Windows Server + IIS; Windows shared hosting with Plesk covers it.
- .NET 6/8 (modern) — cross-platform, but Windows hosting keeps IIS integration and MSSQL adjacency simple.
- MSSQL databases — Windows shared plans bundle MS SQL; Linux stacks force a different database entirely.
- Application Pools — you want a plan that exposes pool version and identity settings, not a locked panel.
- Deployment — Plesk with Web Deploy beats FTP for repeatable publishes.
For Indian businesses running MSSQL-backed line-of-business apps, Windows shared hosting is the entry point — the Windows hosting plans list the tiers and their INR pricing before GST.
NET Framework vs .NET 6/8 — server implications
The two runtimes behave differently on a server, and the plan must match the build:
- .NET Framework 4.8 — compiled assemblies bind to the application pool's .NET CLR version on Windows/IIS. There is no Linux option at all; the hosting must be Windows.
- .NET 6/8 (modern) — self-contained, runs on Kestrel behind IIS as a reverse proxy, or in-process on Windows. Cross-platform, so it can also live on Linux hosting, but Windows keeps IIS integration and MSSQL adjacency simple.
- Shared plans — pool version switching is panel-managed on Plesk; a v4.0 pool cannot run a .NET 8 app regardless of what is published.
Legacy internal apps almost always mean Framework 4.8; new builds are .NET 8. Both run happily on the same Windows shared tier — just not in the same application pool.

Deploying to Plesk/IIS — Web Deploy and FTP
Two publish routes exist on a Plesk Windows plan, and they serve different needs:
- Web Deploy — Visual Studio's publish profile pushes the compiled output, updates only changed files, applies web.config transforms and can run EF migrations. The repeatable route for anything deployed more than once.
- FTP / FTPS — copies whatever is in the local folder. Fine for a static upload or a one-off fix, but it never updates dependencies cleanly and nothing tracks what changed.
Plesk also exposes Git deployment on many plans, which sits between the two: push to a branch, the panel pulls and runs any build hook. Set the publish profile's destination to the site's IIS user so file permissions survive the deploy.
Application Pools — version, identity, recycling
Every ASP.NET site on IIS runs inside an application pool, and three pool settings decide whether the site works at all:
- .NET CLR version — v4.0 for Framework 4.x apps; "No Managed Code" for .NET 6/8 apps, which carry their own runtime.
- Identity — the account the site runs as; file and folder permissions (App_Data especially) must include it or writes fail.
- Recycling — the pool restarts on schedule or memory thresholds; in-memory state dies at each recycle, so sessions that rely on it need a state server or database backing.
On shared hosting the panel exposes the CLR version and usually identity; recycling stays with the host. A 500 error immediately after a deploy is very often just a pool set to the wrong CLR version.
MSSQL setup and connection strings
Windows plans bundle Microsoft SQL Server — the database most .NET line-of-business apps expect, and the reason Linux hosting is rarely an option for them. Setup is short:
- Create the database in Plesk's Database Manager and note the server name it shows.
- Create a database user and map it to the database with db_owner (or the narrowest role that works).
- Build the connection string:
Server=HOST;Database=DBNAME;User Id=DBUSER;Password=***;— Plesk displays the exact server host to use. - Put it in web.config or appsettings.json — never in code — and test the first page that touches the database.
If the connection fails, the usual causes are the user not mapped to the database, or the server name copied from the wrong host — not the credentials themselves.
Debugging 500 errors after deploy
The ordered checklist veterans run:
- Temporarily set
customErrors mode="Off"in web.config — the real exception text replaces the generic 500. - Check the Application Pool's .NET CLR version against your build target — a v4.0 pool running a .NET 8 app fails instantly.
- Verify MSSQL connectivity: connection string credentials, database name, and that the DB user is mapped in Plesk.
- Check file permissions on App_Data and any folders the app writes to.
- Read Windows Event Viewer and IIS logs (
logsfolder) — failed module loads and binding errors surface there. - Confirm the right target framework is installed on the server itself.
Most post-deploy 500s resolve at steps 2–3 — pool version and connection strings. If the site itself is fine but the platform feels wrong, the Linux-to-Windows migration guide covers the move itself.
Scaling — shared hosting to Windows VPS
Windows shared hosting carries Framework and .NET 8 sites, MSSQL and email up to a point. Move up when any of these shows up: CPU throttling notices from the panel, app pool recycles from memory pressure, a dedicated compliance requirement, or a second app needing its own pool identity.
- Same host, higher tier — the cheapest fix; more RAM and CPU, same Plesk workflow.
- Windows VPS — full IIS and RDP control, your own app pools and scheduled tasks; WebJi® quotes Windows VPS tiers by email in INR.
- What moves with you — files, the MSSQL backup (BAK), the DNS cutover. Free migration is subject to terms and approval; email support@webji.services with the current server details first.
Prices: published Windows shared rows run ₹2,300–8,400 a year before 18% GST (see the Windows hosting in India plans page); VPS tiers are quoted to fit the workload.
Frequently Asked Questions
Which hosting is best for ASP.NET in India?
Windows shared hosting with Plesk is the entry point for Framework 4.8 and .NET 8 sites that need IIS and MSSQL. Check runtime support, application pool access, Web Deploy and bundled SQL Server, and confirm the price is INR with GST on the invoice.
Can I host .NET 8 on shared Windows hosting?
Yes. A .NET 8 app runs in its own application pool set to No Managed Code, or in-process on IIS. The pool's CLR version — not the plan tier — is what stops it: a v4.0 pool cannot run a .NET 8 app.
What is the difference between .NET Framework and .NET hosting?
.NET Framework (4.8) is Windows-only and binds to the application pool's .NET CLR version; modern .NET (6/8) carries its own runtime and can also run on Linux, though Windows keeps IIS and MSSQL integration simple. Legacy internal apps mean Framework; new builds are .NET 8.
How do I deploy an ASP.NET site to Plesk?
Publish with Web Deploy from Visual Studio using the publish profile Plesk generates — it syncs changed files and applies web.config transforms. FTP works for one-off copies but never tracks dependencies. Plesk's Git deployment sits between the two.
What is an Application Pool in IIS?
The isolated worker process that runs your site. Its .NET CLR version must match the build (v4.0 for Framework, No Managed Code for .NET 8), its identity governs file permissions, and recycling restarts it on schedule — killing in-memory state unless sessions are stored externally.
Does Windows shared hosting support MSSQL?
Yes — it is the main reason to choose Windows hosting. Create the database and user in Plesk's Database Manager, map the user, and build the connection string from the server name Plesk shows. Published Windows plans start at ₹2,300 a year before 18% GST.
Is WebJi® an Indian company?
Yes. WebJi® is headquartered in Jaipur, Rajasthan and has operated since 2005. Billing, support and governance all run from India.
Do you provide GST invoices?
Every purchase and renewal gets a GST invoice with our GSTIN, and hosting prices are quoted exclusive of 18% GST. Claim input credit as applicable.

