Должно быть никаких проблем, даже с этим образцом. В этом случае просто добавьте подстановочный знак в свой DNS «* .yourdomain» и используйте оператор «default» для переключения с подстановочными знаками.
Другими словами, измените пример для Global.asax на что-то вроде:
default:
returnValue = new RouteData(this, new MvcRouteHandler());
returnValue.Values.Add("controller", "MyControllerName");
returnValue.Values.Add("action", "MyActionName");
// for example, provide the entered subdomain as parameter;
returnValue.Values.Add("MyActionParameterName", subDomain);
break;
И не забывайте: добавьте подстановочный знак в свой DNS. Тем не менее, не должно быть возможности тестировать субдомены на локальном хосте.