Wednesday, October 7, 2009

Hosting an ASP.NET 3.5 website on IIS 7

Although using IIS is not that hard, I had some issues to get my website deployed. As I didn't install the webserver, it took me a while to find out which features were missing. The following steps can help you checking if your server is ASP.NET 3.5 ready:

Install the Web Server Role

  • In Role Services, select ASP.NET and continue.

Install the .NET 3.5 Framework

Publish Your Application

  • In Visual Studio, publish your web project to a local folder, like on the desktop.

  • Copy that folder to a local folder on the webserver, maybe somewhere like c:\apps.

  • From the IIS Manager, right click your Default Web Site and "Add Application".

Enable ASP.NET Impersonation on your Website

  • IIS -> Your website -> Authentication -> Enable ASP.NET Impersonation.

Test your Application

  • Open a browser, and try http://localhost, verify that the IIS 7 page comes up and you know IIS 7 is installed correctly.

  • Then test your application by browsing to http://localhost/your_application.

Troubleshooting

  • If you receive .NET 3.5.0.0 reference errors or csc.exe not found, make sure you've installed the .NET 3.5 framework.

  • If your web page does not display correctly, or images are missing, check all of your url links.  For all of your url links, use an absolute path like "~/Images/".

  • If you receive an error connecting to a local database, "Invalid login for NT AUTHORITY/NETWORK SERVICE"... open SQL Management Studio, add a new login, find the NETWORK SERVICE credential and grant that login db_owner permissions for your database(or use a dedicated user for your application pool).

No comments: