2009-04-21 5 views
3

Je construis deux sites ASP.NET MVC. Il y a une certaine quantité de contenu que je souhaite pouvoir partager entre les deux sites. J'ai créé une bibliothèque de classe et j'ai pu partager une grande partie de ce dont j'avais besoin. Cependant, j'aimerais vraiment savoir comment je pourrais partager des contenus tels que des images et des fichiers JavaScript, donc je n'ai pas à les dupliquer entre les deux sites.ASP.NET MVC Partage de fichiers JavaScript à partir de la bibliothèque de classes

Je serais très reconnaissant si quelqu'un a de bonnes idées à ce sujet.

Répondre

1

Pour javascript, vous pouvez donner directement url comme src de JavaScript. par exemple. Pour partager une classe, je recommande d'utiliser les services Web plutôt que d'autoriser l'accès à la source du fichier de classe.

2

Vous pouvez utiliser un CDN (réseau de diffusion de contenu) pour les fichiers partagés.

<script src="http://shared.yourdomain/stuff.js" type="text/javascript"></script> 

C'est la même astuce qui emploie SO, il est bon pour le temps de chargement trop que le navigateur ouvert que 2 connexions par domaine. L'utilisation d'un CDN signifie que vous pouvez ajouter deux autres connexions par CDN utilisé. Cela peut inclure des sous-domaines sur votre propre site. Donc, vous pouvez avoir js.yourdomain et img.yourdomain et ils sont tous comptés comme différents.

1

Les fichiers Javascript et les images peuvent être hébergés dans un emplacement commun - pour les fichiers javascript standard (bibliothèque jquery etc.), il est recommandé d'utiliser un CDN, comme l'indique Kieron - vous y trouverez de nombreux avantages.

Pour les autres fichiers de contenu, vous pouvez simplement les placer sur une URL commune à laquelle les deux sites accèdent - par ex. avec 2 sites différents: urls

http://site1.somedomain.com/default.aspx 
http://site2.somedomain.com/default.aspx 

ils peuvent à la fois le contenu d'utilisation à partir d'un emplacement commun comme:

http://commoncontent.somedomain.com/images/bigimage1.jpg 
http://commoncontent.somedomain.com/scripts/customjavascript1.js 

La même chose fonctionne avec des répertoires virtuels au lieu d'un nom de domaine complet aussi bien sûr.

2

Si vous avez un assembly commun, vous pouvez envisager d'intégrer votre contenu en tant que ressources Web. Plus d'informations sur les ressources Web peuvent être trouvés here.

+0

Merci, j'ai essayé ceci et cela a très bien fonctionné localement grâce à mon serveur de développement. Quand je l'ai déployé, il semble qu'il ne trouve pas les fichiers car ils ne sont pas chargés. Il est déployé avec IIS 6. Je à peu près suivi cette solution http://blog.eworldui.net/post/2008/05/ASPNET-MVC---Extracting-Web-Resources.aspx Des idées? – andyJ

Questions connexes