Pour un logiciel Asp.Net en tant qu'application de service, je souhaite utiliser des sous-domaines basés sur des comptes tels que Basecamp et le reste des produits 37Signals. Par exemple. acme.myapp.com va charger le compte pour ce client et retirer seulement leurs informations. Ceci est facile à faire dans Ruby on Rails, mais comment gérer cette fonctionnalité dans ASP.NET MVC et être capable d'évoluer vers des centaines de comptes?Comment faire des comptes de style Basecamp dans Asp.Net Mvc?
5
A
Répondre
1
Nous utilisons:
public static string GetSubDomain()
{
string subDomain = String.Empty;
if (HttpContext.Current.Request.Url.HostNameType == UriHostNameType.Dns)
{
subDomain = Regex.Replace(HttpContext.Current.Request.Url.Host, "((.*)(\\..*){2})|(.*)", "$2");
}
if (subDomain.Length == 0)
{
subDomain = "www";
}
return subDomain.Trim().ToLower();
}
1
Ce n'est pas très différent de RoR. Obtenez simplement la requête HTTP, prenez la valeur de l'hôte, divisez-la (à chaque point) et prenez la première partie pour obtenir le sous-domaine.
string subdomain = requestContext.HttpContext.
Request.Headers["Host"].Split('.')[0];
Ensuite, il suffit de résoudre le sous-domaine pour le compte sociétés.
2
Maarten Balliauw's blog couvert d'une méthode extension RouteBase. Je pense que j'ai également vu un gestionnaire de route personnalisé utilisé pour cela.
En outre, ce StackOverflow question a couvert la même question, en utilisant une approche plus simpliste.
Je recommande vivement de factoriser ce code dans le routage plutôt que d'intégrer la logique pour obtenir des informations de domaine dans vos contrôleurs.
Questions connexes
- 1. Comment faire des comptes utilisateur de sous-domaine dans une application web
- 2. Comment faire des tests unitaires pour IgnoreRoute dans ASP.NET MVC
- 3. ASP.NET MVC - Feuille de style dynamique
- 4. Comment faire pour que cette route ASP.NET MVC pour une URL de style twitter fonctionne?
- 5. Comment faire pour résoudre ASP.NET MVC
- 6. Comment faire un abonnement à ASP.NET MVC?
- 7. Comment faire redirection d'autorisation sur ASP.NET MVC
- 8. Comment faire pour émuler ScriptManager.RegisterStartupScript() dans le projet ASP.NET MVC
- 9. Comment faire une très grande pagination dans ASP.NET MVC?
- 10. Comment sélectionner des lignes de table dans ASP.NET MVC
- 11. Test des HtmlHelpers dans ASP.NET MVC
- 12. Exemple d'utilisation d'emballage rubis API Basecamp
- 13. asp.net MVC - Comment faire une page principale/détaillée
- 14. Plusieurs comptes dans CakePHP
- 15. Comment faire des fonctions d'initialisation de page dans ASP.NET AJAX?
- 16. Faire un Html.ActionLink autour d'une image dans ASP.NET MVC?
- 17. Comment faire pour afficher visuellement la page actuelle dans ASP.NET MVC?
- 18. asp.net mVc formsauthentication: quand le faire manuellement?
- 19. Développer une application photo ASP.NET/MVC simple, comment faire?
- 20. Comment faire fonctionner une application ASP.Net MVC sur mon hôte?
- 21. Contournement des comptes d'échange lors de l'envoi de courrier via le serveur SMTP dans ASP.NET
- 22. créer des contrôles dynamiques avec ASP.NET MVC
- 23. Comment regrouper des données dans une vue ASP.NET MVC?
- 24. ASP.NET MVC: Je ne sais pas comment faire ces routes
- 25. Onglets dans ASP.NET MVC
- 26. ASP.NET MVC Globalisation des Vues
- 27. Comment créer des liens SEO-Friendly dans ASP.Net-MVC
- 28. Meilleure façon de faire des entrées pour les sous-classes dans un site ASP.NET MVC
- 29. Comment spécifiez-vous des feuilles de style pour des médias spécifiques utilisant des thèmes ASP.NET?
- 30. Notifications de style Stackoverflow dans asp.net Ajax