Si vous codez les sites ASP.NET afin qu'ils puissent vivre dans un VDIR?

voix
0

Retour dans les jours avant que le serveur Web Visual Studio nous héberger notre dev locale dans IIS. Si vous disposez d' une version de poste de travail IIS qui signifie seulement 1 site. Que faire si vous travaillez sur plusieurs sites Web. Facile: les créer dans VDIRs, par exemple http: // localhost / ProjectA , http: // localhost / ProjectB .

Vivre dans un VDIR ne semble pas si difficile. Assurez-vous que toutes vos images / CSS / liens sont des chemins relatifs, utilisez le « ~ » beaucoup. Sonne comme une bonne pratique. Images etc hardcoding afin qu'ils ne fonctionnent que lorsque l'application est servi de « / » sonne comme une mauvaise pratique.

Il y a quelques nuances partout où vous devez construire un lien (surtout pas de scénarios communs):

Alors .. vous faites cela? Avantages désavantages? Tout autre gotchas J'ai manqué?

Créé 26/08/2009 à 23:51
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

En bref, oui . Les inconvénients de ne pas le faire l' emportent sur les avantages. Je pense que vos deux premiers points peuvent également être la plupart du temps atténués d'utiliser des chemins d'application-relative ( « ~ »), mais néanmoins, certains scénarios tels que les « niveau d'intégration » (comme PayPal) peut en effet se révéler délicat.

Mais à la fin de la journée, si vous avez besoin d'héberger votre application dans un répertoire virtuel vous des problèmes pratiquement garanti si vous ne l'avez pas votre code application pour être vdir-friendly dès le départ. Je sais que je dois.

Certains arrière - plan / contexte: Mon actuelle production environnement au travail est presque toujours un répertoire virtuel de toute façon, donc je fais ce par nécessité. Et je ne l' ai jamais eu un problème lorsqu'une application a été créé comme un site Web racine. Ce ne serait certainement pas le cas si elle était l'inverse.

Créé 27/08/2009 à 00:11
source utilisateur

voix
1

J'évite toujours chemins d'accès directement, URL, etc., sauf si il y a une bonne raison de faire autrement. Les choses changent inévitablement, et il y a toujours le saut à partir de votre site dev à la production.

La partie qui est généralement la plus grande nuisance serait les comportements des clients réutilisables qui ont besoin de faire référence à d'autres chemins, et eux-mêmes peuvent être réutilisés dans les pages à travers la structure de répertoire de l'application.

J'aime le gestionnaire d'idée qui répond à « globalvars.ashx » (ou quelque chose comme ça, il y a plusieurs façons de gérer cela) qui émet de façon dynamique (et permet la mise en cache) propriétés en ce qui concerne les propriétés d'application globales.

Supposons que le gestionnaire responsable de globalvars.ashx écrit le résultat de quelque chose comme ceci:

String.Format("var ApplicationProperties = {{ RootPath:{0} }};", Request.ApplicationPath);

Vos comportements JS pourraient théoriquement faire référence à cet objet de la propriété à tout moment par l' intermédiaire ApplicationProperties.RootPath.

Créé 27/08/2009 à 00:03
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more