2016-10-04 6 views
0

私がしようとしているのは、3つの異なるクライアント(A、B、C)でホストされている3つのWebサイトがあるということです。サイトAのヘッダーとフッターに関する情報をWebサイト(B)に表示します。サイトBの情報をHTMLのJSON応答で取得して、サイトAとサイトCのナビゲーションを表示したいと考えています。JSONレスポンスをキャッシュしてウェブサイトのナビゲーションとブランディング用のHTMLを生成する方法は?

私の控えめなことは、応答を得るにはJSONで、その情報をキャッシュファイルに保存してHTMLを生成することです。

私の理解は正しいですか?どうすればこれを達成できますか?これを行うより良い方法はありますか?

[OutputCache(Duration = 10)] //Duration is in seconds 
public ActionResult GetMyJsonData() { 
    var myData = new Data(); 
    return Json(data); 
} 

あなたがHTMLを返すあなたのアクションで同じ属性を適用することができます:あなたは、コントローラのアクションからJSONの結果をキャッシュする場合

+0

コントローラからHTML結果またはJSON結果をキャッシュしますか? – Guillaume

+0

@GuillaumeコントローラはJSOnの結果を返し、キャッシュデータをHTMLとしてレンダリングします。 –

答えて

0

基本的に、あなたはOutputCache属性を使用することができます。

+0

第三者のアプリケーションでキャッシュされたデータにどうやってアクセスできるかがポイントです。私はキャッシュにサイトAのナビゲーションHTMLを保存しました。アプリケーションはサードパーティのWebサイトで実装されたシングルサインオンを持っています。どのようにして第三者のウェブサイトがキャッシュされたHTMLを取得し、キャッシュされたHTMLをランタイムに自分のサイトに表示することができますか? –

+0

このようなことは言わなかった。第三者サイトは、最初のサイトで 'GetMyJsonData'へのWeb呼び出しを実行する必要があります。別の解決策は、たとえばRedisを使用して共有キャッシュ戦略を作成することです。 – Guillaume

関連する問題