Pokud byste kód ASP.NET stránek, aby mohli žít v vdir?

hlasů
0

V dobách před Visual Studio Web Server budeme hostit naší místní dev uvnitř IIS. Máte-li verzi pracovní stanice IIS, které znamená pouze 1 webové stránky. Co když se pracuje na několika webových stránkách. Jednoduché: vytvořit v VDIRs, například http: // localhost / PROJECTA , http: // localhost / ProjectB .

Žijící v vdir nezní tak těžké. Ujistěte se, že všechny vaše obrázky / CSS / odkazy jsou relativní cesty pomocí „~“ hodně. Zní to jako dobrá praxe. Napevno obrázky atd takže pracují pouze tehdy, pokud je žádost podávána od „/“ Zní to jako špatná praxe.

Tam jsou některé nuance kdekoliv, kde máte postavit odkaz (většinou není běžné scénáře):

Takže .. Děláte to? Výhody nevýhody? Jakékoliv jiné Gotchas jsem vynechal?

Položena 26/08/2009 v 23:51
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Stručně řečeno, ano . Nevýhody Není přitom převažují nad výhodami. Vlastně si myslím své první dva body mohou být také zpravidla zmírnit od používání aplikací relativní cesty ( „~“), ale přesto některé scénáře, jako například ty „integraci na úrovni“ (jako je PayPal) skutečně může ukázat jako obtížné.

Ale na konci dne, pokud potřebujete hostit aplikace ve virtuálním adresáři jsou prakticky zaručeno problémy, pokud nejsou kódovány aplikaci být vdir-friendly od dostat jít. Vím, že mám.

Některé pozadí / kontext: Můj současný výrobní prostředí při práci je téměř vždy virtuální adresáře tak jako tak, takže jsem to nutností. A nikdy jsem neměl problém, kdy byla žádost vytvořena jako webové stránky na kořenové úrovni. To rozhodně by nemělo být v případě, kdy to bylo naopak.

Odpovězeno 27/08/2009 v 00:11
zdroj uživatelem

hlasů
1

Vždycky jsem se zabránilo napevno cesty, adresy URL, atd, pokud existuje konkrétní důvod dělat jinak. Věci nevyhnutelně mění, a tam je vždy skok z dev stránek do výroby.

Část, která je obvykle největší obtíž by v opakovaně použitelných klientských chování, které je třeba odkazovat jiných cest, a samy o sobě mohou být znovu použity na stránkách celé adresářové struktury aplikace.

Líbí se mi myšlenka psovoda, který reaguje na „globalvars.ashx“ (nebo něco podobného, ​​existuje mnoho způsobů, jak řešit tento problém), která dynamicky emituje (a umožňuje ukládání do mezipaměti) vlastnosti týkající se globálních vlastností aplikace.

Říkají, že handler zodpovědný za globalvars.ashx zapíše výsledek něco takového:

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

Vaše JS chování může teoreticky vyplývá, že objekt nemovitosti v každém bodě přes ApplicationProperties.RootPath.

Odpovězeno 27/08/2009 v 00:03
zdroj uživatelem

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