2009-11-16 4 views
0

J'ai une situation dans laquelle j'ai plusieurs applications racines qui référenceront la même application virtuelle. Les applications racine sont les frontaux «marqués» qui sont assez légers, l'application virtuelle effectuant la plus grande partie du travail. Je prévoyais que l'application virtuelle utilise le fichier maître de l'application racine en le référençant avec un préfixe "/", mais j'ai découvert à la dure que cela n'est pas autorisé.ASP.NET Application virtuelle ayant le même aspect que l'application racine

J'ai vu des options telles que la compilation du maître page en tant que .dll mais je ne pense pas que je peux appliquer ce scénario pour moi parce que le maître page sera différent pour chaque application racine.

Est-ce que quelqu'un a des idées sur ce que je peux faire comme alternative? Est-il possible d'être créatif avec un appel Response.WriteFile en ligne de l'utilisateur virtuel à l'utilisateur qui appelle les contrôles utilisateur, ou y a-t-il un inconvénient?

Toute idée ou assistance serait grandement appréciée. Merci!

Répondre

1

Une façon de contourner ce problème est de ne pas créer l'application virtuelle comme une application dans IIS. En faisant cela, les fichiers de pages maîtres de la racine peuvent toujours être utilisés puisqu'il n'y a qu'un seul domaine d'application. L'inconvénient est que vous devrez fusionner vos dossiers "bin" ensemble sous la racine.

+0

Oui, c'est un gros inconvénient. Le problème est que je pourrais avoir plus de 100 racines, et l'application virtuelle pourrait changer fréquemment pour ajouter de nouvelles fonctionnalités. Je ne veux pas avoir à recopier de nouveaux fichiers .dll à plus de 100 bins. –

+0

Y a-t-il de nombreuses différences entre vos fichiers racine? Peut-être que vous pourriez combiner tous ces sites dans une seule application, puis rendre votre application assez intelligente pour server les bons fichiers basés sur l'URL. – David

+0

Je ne pense pas que ce soit possible étant donné la situation. C'était une application ASP classique qui utilisait Server-Side includes pour inclure les en-têtes et les pieds de page dans le virtuel à partir de la racine. J'espérais que nous pourrions émuler la même fonctionnalité en utilisant Master Pages. –

0

je ne vois pas une façon très propre à faire autre que ce qui a été proposé par les autres utilisateurs.

pensée créative:

bidouille pas cher # 1: Une façon serait d'utiliser mklink sur le serveur pour créer une jonction répertoire. Pas cher mais vous pouvez facilement le script et les deux dossiers seraient mis à jour en même temps.

pas cher hack 2: Demandez à vos pages maîtres comprennent une iframe à la vdir partagée.

+0

Pouvez-vous élaborer un peu plus sur # 2? Cela n'a pas vraiment de sens pour moi. TIA! –

Questions connexes