Вы должны правильно настроить IIS (и, возможно, DNS) для этой работы. Например, все ваши субдомены должны обрабатываться указанным веб-сайтом в IIS. Как правило, вы можете настроить IIS для обработки всех заголовков хостов, если существует только один веб-сайт, но в случае нескольких веб-сайтов IIS обычно настраивается на различение по заголовку хоста. Поэтому правильная настройка - важная часть для вас.
Как только вы перейдете на правильный веб-сайт, обработка ресурсов будет осуществляться мета-базой IIS. Поэтому в этом случае он будет перенаправлен на настроенный ресурс по умолчанию для сайта. Если имя ресурса присутствует, расширение (htm, aspx) решит обработку. Расширения Aspx будут обрабатываться ASP.NET, а затем все, что вам нужно сделать, это посмотреть текущий заголовок хоста и принять соответствующее решение. Например,
protected void Page_Load(object sender, EventArgs e)
{
if (request.Url.HostNameType == UriHostNameType.Dns)
{
var hostParts = Request.Url.Host.Split('.');
// you may validate if sub-domain name is present or not
lblMessage.Text = "This is default page for " + hostParts[0];
}
}