2009-04-21 11 views
3

2つのASP.NET MVCサイトを構築しています。 2つのサイト間で共有できるコンテンツがある程度あります。私はクラスライブラリを作成し、私が必要とするものの大部分を共有することができました。しかし、私は本当に画像やJavaScriptファイルなどのコンテンツをどのように共有できるかを知りたいので、両方のWebサイトでそれらを複製する必要はありません。ASP.NET MVCがクラスライブラリからJavaScriptファイルを共有する

誰かがこれについて良いアイデアを持っているなら、私は非常に感謝します。

答えて

1

JavaScriptの場合はJavaScriptのsrcに直接URLを付けることができます。例:

<script src="some_url_path_/global.js" type="text/javascript"></script> 

私はクラスファイル・ソースへのアクセスを許可するように、むしろWebサービスを使用することをお勧めしますクラスを共有します。

2

共有ファイルにはCDN(コンテンツ配信ネットワーク)を使用できます。

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

それはSO採用し、ブラウザだけでドメインごとに2つの接続をオープンすると、それはあまりにもロード時間のために良いことだと同じトリックです。 CDNを使用すると、使用されているCDNごとに2つの接続を追加できます。それはあなたのサイトのサブドメインを含むことができます。だからあなたはjourydomainとimg.yourdomainを持つことができ、それらはすべて異なるものとして数えられます。

1

Javascriptファイルと画像は、標準のjavascriptファイル(jqueryライブラリなど)では、Kieronが指摘しているようにCDNを使用することをお勧めします。そこには多くの利点があります。

他のコンテンツファイルについては、両方のサイトからアクセスされる共通のURLにそれらを入れることができます。別のURLに2つの拠点を持つ:

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

彼らのような共通の場所から両方の使用量次のことができます。

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

同じことが、仮想ディレクトリの代わりに、あまりにも当然FQDNで動作します。

2

共通のアセンブリを使用している場合、コンテンツをWebリソースとして埋め込むことを検討することがあります。ウェブリソースに関する詳細は​​3210です。

+0

ありがとう、私はこれを試して、私の開発サーバーを介してローカルで素晴らしい仕事をした。私はそれを展開したときに、ロードされていないファイルを見つけることができないようです。これは、IIS 6で展開私はかなりこのソリューション http://blog.eworldui.net/post/2008/05/ASPNET-MVC---Extracting-Web-Resources.aspx 任意のアイデアを踏襲していますか? – andyJ

関連する問題