2016-11-22 16 views
1

私はいくつかの静的資産(画像、CSS、フォントなど)を共有する2つのasp.netコアアプリケーションを持っています。両方のプロジェクトにコピーを保管します。私はこれを簡素化し、明らかにその資産のコピーを1つだけ保持し、両方のプロジェクトにアクセス可能にしたいと思います。asp.netコアアプリケーション間(またはAzure CDN経由)で静的資産を共有

私は解決策を考えていましたが、ソリューションで新しいプロジェクトを作成でき、git commitなどでAzure CDNにコンテンツを複製した後、ソースでCDN URLを参照するだけでよいのかどうか疑問に思っていました。明らかに、このコンテンツを手動で管理したくないので、CSSを変更したり、イメージを追加するたびに、ファイルをCDN/Storageエンドポイントに手動でアップロードする必要があります。

しかし、これが可能かどうかは分かりませんが、どうすれば設定できますか? アプリ自体はAzureでホストされているため、これは視覚的なスタジオの修正プログラムとして実装する必要があります(古い「追加リンク」はもはや利用できないようです)か、Azureで実装する必要があります。

これを達成する方法に関する提案は歓迎されます。最も簡単な方法は、ストレージアカウント(塊)にあなたの静的なコンテンツを公開して、ストレージアカウントにCDNを接続することである

おかげ

答えて

0

。プロジェクト内のURL参照を変更して、通常の相対ルートの代わりにCDNエンドポイントを使用するようにします。

自動化したいビットは、ビルド/リリース時です。これを行うには、コマンドタスクを追加してAZCOPYを使用して、すべての静的ファイルをストレージアカウントの適切な場所に配置します。 dev/testにCI/CDプロセスを使用していない場合でも、ポストビルドタスクでこれを行うことができます。

あなたがCDNをパージする必要がある場合は、REST API呼び出しを経由して、同様

POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge?api-version=2016-10-02 

がダウンしCDN docs here

その良いルートを参照してくださいことを行うことができ、十分ではない人々はどのように簡単にCDNを実現しますあなたのサイトのsnappinessの感触をどれだけ向上させるのかを説明します。

[EDIT] - ラッセル・ヤングによって提案された解決策は間違いなく動作しますGitHub project

0

を参照して、AzureFileCopyのVSTSのタスクを忘れ、おそらく簡単な方法は、CDNでカスタムの原点を使用して、元のURLを指すようです静的資産の元の位置に戻します。そうすれば、2つの場所に資産を管理する必要はありません。

関連する問題