Question

J'ai un site Web (ASP.NET MVC) que je voudrais étendre à un autre sujet similaire (comme StackOverflow-serverfault-super-utilisateur).

couche de base de données et la couche de contrôleurs sont les mêmes pour les deux sites. Ce qui diffère est juste les couches de vue, et seulement pour quelques détails:. Logos, masterpage et certains fichiers de ressources (en partie) et CSS

Quelle est la meilleure façon de gérer cette situation? Comment cela se fait par Jeff et son équipe?

Mon objectif idéal est d'avoir une solution unique (solution Visual Studio), un projet avec les contrôleurs et le modèle, et n différents projets: chacun pour chaque point de vue. ( ajoute cette ligne à clarifier )

Je reçois ce fait simplement les deux solutions de branchement (avec SVN ou Mercurial), puis la fusion lors de la publication?

Merci les gars!

Était-ce utile?

La solution

Nous utilisons le dossier App_GlobalResources pour faire

  • App_GlobalResources \ ServerFault.resx
  • App_GlobalResources \ StackOverflow.resx
  • App_GlobalResources \ MetaStackOverflow.resx

avec une classe d'aide:

public static class Resources
{
public static string TeamEmail { get { return GetString("TeamEmail"); } }    
public static string GetString(string key)
{
    return HttpContext.GetGlobalResourceObject(
         GlobalApplication.CurrentSite.ToString(), key).ToString();
}
}

et il apparaît dans la vue comme ceci:

<a href="mailto:<%= Resources.TeamEmail %>">contact us</a>

Pour le remplacement plus total (par exemple, le / faq), nous avons plusieurs copies du faq comme ceci:

  • Faq-ServerFault.aspx
  • Faq-StackOverflow.aspx
  • Faq-StackOverflowMeta.aspx

La construction renomme le fichier approprié pour chaque serveur.

(Notez que ce sont des vues de contenu, ils sont littéralement juste le faq contenu lui-même, la page principale détermine le reste de la mise en page)

Autres conseils

Je peux penser à deux façons de le faire

  1. vous pourriez avoir à des serveurs Web Apache ou IIS dans le cas où vos domaines sont différents et le magasin le css, logos et autres choses de l'interface utilisateur qui pourrait être stocker dans le serveur.

  2. Si vous utilisez .net que je suppouse parce que vous parlez page maître et vos domaines ne sont pas différents, vous pouvez ajouter une certaine logique à votre application Web pour passer d'un modèle à l'autre selon certaines règles comme le nom d'utilisateur ou le profil. Si vous utilisez .net je pense que vous pouvez générer à différentes peaux et leur attribuer selon une certaine logique que vous devez mettre en œuvre. Si vous utilisez une autre langue, vous pouvez également générer un modèle et mettez-le selon vos règles.

Hope this helps.

Vous dites que vous avez un site, et que vous voulez étendre à un autre sujet. Je pense que vous devriez penser est de cette façon:

  • vous avez application web qui fait votre travail.
  • vous avez un site sur lequel vous avez déployé que l'application Web
  • maintenant vous voulez une autre webapp avec les mêmes fonctionnalités (comme SO-SF), mais différents aspect et la convivialité
  • Je pense que votre tâche est tout simplement configurant votre application Web pour un aspect différent, et le déployer sur un serveur distinct

Notes:  * Ces deux sites seront indépendants les uns des autres. Ils ne seront pas avoir des données en commun!  * Si vous voulez que les sites d'interagir, de son mieux pour rendre l'application Web capable d'interagir avec d'autres instances de lui-même, puis redéployant.

J'espère que je compris ce que vous demandiez correctement, et que ce que j'ai écrit sera utile.

Cheers, HJR

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top