If you read the definition of Request.ApplicationPath, it says "Use this property to construct a URL relative to the application root
from a page or Web user control that is not in the root directory. This
allows pages and shared controls that exist at different levels of a
directory structure to use the same code to link to resources at fixed
locations in the application."
Here's a much more reliable way to obtain full qualified http URL:
string fullApplicationPath = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + HttpContext.Current.Request.ApplicationPath + "/"; // using UriPartial.Authorith handles correct http scheme, i.e.: 'http' and 'https'