Я создал библиотеку для маршрутизации поддоменов , которую вы можете создать таким маршрутом. Он работает в настоящее время для .NET Core 1.1 и .NET Framework 4.6.1, но будет обновлен в ближайшем будущем. Вот как это работает: 1) Маршрут субдомена карты в Startup.cs
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
var hostnames = new[] { "localhost:54575" };
app.UseMvc(routes =>
{
routes.MapSubdomainRoute(
hostnames,
"SubdomainRoute",
"{username}",
"{controller}/{action}",
new { controller = "Home", action = "Index" });
)};
2) Контроллеры / HomeController.cs
public IActionResult Index(string username)
{
//code
}
3) Это lib также позволит вы создаете URL-адреса и формы. Код:
@Html.ActionLink("User home", "Index", "Home" new { username = "user1" }, null)
Сгенерирует User home
Сгенерированный URL-адрес также будет зависеть от текущего местоположения хоста и схемы. Вы также можете использовать html-помощники для BeginForm
и UrlHelper
. Если вам нравится, вы также можете использовать новую функцию, называемую помощниками тегов (FormTagHelper
, AnchorTagHelper
). У lib еще нет документации, но есть некоторые тесты и примеры проектов, поэтому не стесняйтесь исследовать их.