Plesk for Windows runs websites on IIS and supports ASP.NET Framework, modern .NET (Core) applications, Classic ASP and PHP. Most settings that a .NET developer would configure in IIS Manager are available in the Plesk interface, per domain.
Before you start
- A domain on a Plesk for Windows server (installation is covered in install Plesk on Windows Server).
- Your published application files (for example from Visual Studio's Publish to a folder).
Choose the ASP.NET version
- Go to Websites & Domains, open the domain and click ASP.NET Settings (or Hosting Settings → Web scripting and statistics).
- Enable ASP.NET support and pick the version, for example 4.x for .NET Framework apps.
- For modern .NET (Core) apps, ensure the .NET Hosting Bundle is installed on the server and use No managed code for the application pool; the app runs through the ASP.NET Core Module defined in
web.config. - Save.
Application pool
Click Dedicated IIS Application Pool (or IIS Application Pool) to give the site its own pool. You can set the maximum CPU use, enable recycling by time or memory, and restart the pool after deployments. A dedicated pool isolates one site's crashes from others.
Upload and configure
- Upload published files to
httpdocsusing FTP, Web Deploy (if enabled) or Git. - Put connection strings and settings in
web.configorappsettings.Production.json, never in public folders. - Use Virtual Directories in Plesk to map sub-applications, and convert a folder to an application if it has its own
web.config. - Set Directory Browsing off and configure custom Error Documents under IIS settings.
MS SQL databases
Create Microsoft SQL Server databases under Databases → Add Database and choose the MS SQL server. Use the provided server name, database, user and password in your connection string. Manage data with SQL Server Management Studio remotely if your provider allows remote connections, or with the web admin tool offered in Plesk.
HTTPS and redirects
Issue Let's Encrypt with SSL It! as on Linux (see SSL It!). Redirects use IIS URL Rewrite rules in web.config rather than .htaccess, or Plesk's own HTTPS redirect toggle.
Troubleshooting
- HTTP Error 500.19: invalid
web.configor a module that is not installed on the server. - HTTP Error 500.30 / 502.5 (.NET Core): the app fails to start; enable
stdoutLogEnabledinweb.configand read the log, often a missing runtime version. - Access denied writing files: grant the application pool identity write access to the folder via File Manager → Change Permissions.
- Old version still served: recycle the application pool.
