Buy from the highest-rated provider   Buy DigiCert Certificate x

Automatically Switch Between HTTP and HTTPS in .NET

The Code Project has a great resource for switching between HTTP and HTTPS in your .NET application without having to hard code the URLs:

There are caveats when implementing a website that makes use of the HTTPS protocol. I'm not referring to the technical nuances that you or a system administrator must face when installing a certificate on the server. What about simply adding a link from one page to another page that should be secured? Those of you who have experience with writing web pages that use SSL probably know where I'm going with this. You cannot switch protocols unless you provide an absolute URL. Therefore, in order to allow a visitor to click on a link that should take them to a secure web page, the reference must be absolute.

To make things worse, many browsers download pages referenced by a relative URL with the same protocol as the last request. So, if you had a link in the above file to another page in the root directory that you wanted to show with the HTTP protocol, it would also have to be absolute.

The following will actually be translated as;

thus, retaining the HTTPS protocol that was last used.

<a href="../welcome.asp">Back to the Welcome Page.</a>

Generally, it is not a good idea to encrypt every single page request with SSL. It makes for slower page serves and more bandwidth usage. It is also more intensive on the server's CPU, something your hosting provider may not be pleased with.

Switching Between HTTP and HTTPS Automatically: Version 2 - [The Code Project]

Originally posted on Sun Jan 6, 2008