使用しているWebFarmはSessionをサポートしていません。リダイレクト中にデータを渡す必要があります。 TempDataがSessionを内部で使用するので、TempData辞書なしでこれを行う方法。ASP.Net MVC - TempDataセッションの問題
答えて
独自のTempDataプロバイダを作成し、Cookieに格納することができます。 ASP.NET MVC Store TempData in Cookieを参照してください。隠れた入力を探し、オブジェクト/状態をハイドレーションし、各HTTPリクエストとの間でそれを持続させるベースクラスのコントローラを持つことができます。
TempDataは、2つのコントローラアクションの間だけ持続します。
編集:
あなたが同じ例を使用しても、ディスクへのDBにシリアライズ...か...プロバイダを書くことができます。その点で、セッションのカスタム置換全体をロールバックすることもできます。あなたは、セッションファクトリクラスを作成し、いくつかの静的コレクションのキーを介してカスタムセッションオブジェクトを格納します。上記のように、セッションキーをクッキーまたは隠し入力経由で追跡します。
これは、MVCでもっと学ぶ非常に有用な質問でした。 TempDataがセッションを使用することをMicrosoftが知っていると仮定している理由のような質問が出ました。
4kbを超えるオブジェクトをアップロードする際に問題が発生しました。そのために私たちのアーキテクトは、そのオブジェクトを分割してクッキーの塊に保存することを提案しました。私はオブジェクトのシリアル化された文字列を分割するために、以下のブログのコードを使用しました。
http://lukencode.com/2010/04/21/split-string-into-array-of-chunks/
のでSaveTempData方法でクッキーを分割し、LoadTempDataで単一の文字列にそれらを収集。それはそれが問題を解決しました。
しかし、NVElocityのような分散型キャッシュ技術を使用することは常に優れています。
次のようになりますクラスを作成します。
public class GlobalStorage
{
public static Dictionary<string, object> Device = new Dictionary<string, object>();
}
ストア:
GlobalStorage.Device.Add("myKey", mydata);
取得:
string mydata = GlobalStorage.Device["myKey"].ToString();
- 1. DotNetOpenAuth ASP.NET MVC 3セッションの問題
- 2. ASP.NET MVC 3の動的TempData
- 3. ASP.NET MVC:コントローラメソッド実行後のTempDataのクリア
- 4. ExecuteResult Asp.Net MVCコアのTempDataにアクセス
- 5. ASP.NETセッションTimeOutの問題
- 6. WCFセッションASP.NETホスティングの問題
- 7. ASP.Net MVC RedirectToSsl問題
- 8. ASP.NET MVCリフレッシュヘッダ問題
- 9. ASP.Net MVCチェックボックス問題
- 10. ASP.NET MVCコアルート問題
- 11. セッションとフォーム認証の問題:Asp.Net MVC 3
- 12. asp.net MVCのルーティングの問題
- 13. ASP.NET MVCのセッション
- 14. ASP.NET MVC:デプロイメントの問題
- 15. ASP.NET MVCルーティングの問題
- 16. ASP.NET MVCデプロイメントの問題
- 17. は、コントローラの問題ASP.NET MVC
- 18. ASP.NET MVC、LINQ、UpdateModelの問題
- 19. ASP.NET MVC Javascriptリダイレクトエンコードの問題
- 20. ASP.NET MVC 4モデルバインディングの問題
- 21. ASP.Net MVC MapRouteの問題
- 22. 進エディタの問題ASP.NET MVC
- 23. asp.net mvcのReturnUrl問題
- 24. ASP.NET MVCルーティングの問題
- 25. ASP.NET MVC 3ソリューションレイアウトの問題
- 26. Site.MasterとASP.NET MVCの問題
- 27. ASP.NET MVCルーティングの問題?
- 28. ASP.NET MVC Edtiorテンプレートの問題
- 29. ASP.NET MVC - DropDownList検証問題
- 30. Asp.NET MVC:練習問題
を私のオブジェクトのサイズはそれその後、巨大であれば良いのですsolution.But問題になります。クッキーは最大サイズ4kbを許します。その場合、良い解決策を教えてください。キャッシュプロバイダのようなVelocityを使用できますか? – Thanigainathan
私はそれに対処する独自のクラスを作成することについてあなたが言ったことが好きです。私は独自のDictionaryを作成しました。パブリッククラスでは、必要なときに 'using'ステートメントでインポートして名前空間を取り込めます。これは、TempData、ViewData、Session、およびCookiesがそうでない場合にも有効です。 –
vapcguy