問題タブ [application-state]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - iOSアプリケーションを更新するか、事前に接続を確認してください
インターネット接続を有効にする必要があることを最初にユーザーに警告するための適切なアプリケーションデザインパターンを決定する際に、いくつかの問題が発生しています。
ユーザーが要求できるデータの範囲が広いため、インターネット接続が必要なiOSアプリがあります。アプリにはいくつかのタブバーコントローラーがあり、その中には、階層と返されたデータに基づいてさまざまなビューをユーザーに案内するナビゲーションコントローラーがあります。すべてのリクエストは、中央のapiリクエストクラスがリクエストを完了するかエラーを報告するのを待つNSNotificationCenterオブザーバーを使用してASIHTTPRequestを使用して非同期的に行われます。ほとんどの場合、ユーザーは少なくとも最初のリクエストをダウンロードしますが、UIAlertViewで接続を有効にしてから、他のnavコントローラーレベルをスタックからポップすることで、それらをより低いレベルに戻すようにいつでも依頼できます。接続されています。全体的に、アプリケーションはうまく機能します。
ただし、ユーザーが接続を無効にして最初にアプリケーションを開くと、問題が発生します。多くの場合、最初のサブビュー(タブバー/ナビゲーション階層の作成を容易にするためのIBoutlet)は、接続の存在をテストする前にロードを試みます。これを行う正しい方法が、他のものが何らかの方法で読み込まれる前にアプリデリゲートにタイムアウトを作成することか、重要なデータを実際に取得しない最初のテストリクエストを作成することであるかどうかはわかりません(ほぼ不可能と思われるため) 、または少なくとも、デリゲートにならずにビューを最初から完全に再初期化することは非現実的です)。
アプリケーションの初期化段階でこれを実現するために使用する簡単な方法はありますか?残りの部分はとても単純なので、私は明らかな何かを見逃しているに違いないと感じています。
誰かが私にコードを投稿してほしいと思ったら、私はできますが、これは主にアーキテクチャの質問であると確信しています。また、アプリの意図的に緩く結合された性質のため、ほとんどの場合、委任するオブザーバーを使用したいことを覚えておいてください。
これについてのご意見をお待ちしております。
c# - クラッシュ時にアプリケーションの状態を確実に保存する方法c#
私はC#プログラミングに非常に慣れていないので、次のことを念頭に置いてください。
アプリケーションがクラッシュまたはクローズしたときに情報を保存する必要があるデータを含むメモリ内データオブジェクトがあります。これを決定論的または確実に行う方法はありますか?
私はデストラクタを見てきました
ファイナライザーとDispose()、
しかし、私が理解している限り、これらのどれも私が望むことを確実に行うことはできませんか?
現在、デストラクタを使用しており、プログラムを閉じているときに機能しますが、これはクラッシュで機能する、または常に機能するという意味ではありません。
イベントも見るべきですか?
json - Asp.NetMVC3のアプリケーション状態での2D配列の保存と更新
ajaxリクエストに基づいたシンプルなブラウザゲームを作成する予定です。クライアントに10x10divで構成されるマップがあります。サーバーには、divの状態を表すarray [10,10]があります。たとえば、クライアントが特定のdivをクリックすると、バックグラウンドでajaxリクエストが送信され、配列が更新され、番号1が挿入されます。適切な配列位置。このアイデアに基づいて、すべてのクライアントに同じマップを表示させたいので、アプリケーションの状態がすべてのクライアント間で共有されることは誰もが知っているので、マップ配列をアプリケーションの状態で保存することを考えていました(これを行うためのより良い方法がない限り)。したがって、私の質問は、これをどのように行うか、またはAsp.NetMVCで実際にアプリケーションの状態に到達する方法です。たくさん検索しましたが、Aspでアプリケーション状態のデータを挿入する適切な方法が見つかりませんでした。Net MVC 3は、特に2次元配列であるため、状況が少し難しくなります。これまでの私のコードは、アプリケーションの状態を使用しなくても、多かれ少なかれ機能します。つまり、マップ配列の新しいインスタンスを作成し、そのインスタンスをサーバーからクライアントに返すたびに、間違っています。これは、1つのマップをインスタンス化して、同じマップをすべての人に返したいためです。これは、私が積み重ねている部分。
//ユーザーが私のサイトにアクセスしたとき
//ユーザーがdiv(マップタイル)をクリックしたときのAjaxリクエスト
//私のモデル
//マップモデル
//タイルモデル
//私のゲームコントローラー
ios - applicationDidBecomeActive: 適切なビューをプッシュできません
Server request からの応答として特定の時間間隔が受信された後にタブビューを変更するという私の質問を参照して、次のコードを使用して、アプリケーションがアクティブ状態になったときにセッションタイムアウトメッセージを表示しました
AppDelegate.m のメソッド:
XTabViewController.m のメソッド
私の質問は:
It( pushViewUponCheckedSession
) は、タブを切り替えてセッションの有効期限が切れているかどうかを確認するときに使用すると正常に動作します。
しかし、checkedSession で SessionTimeOutViewController のビューを表示できません 。アプリがアクティブな状態になったら、以前のビューをフラッシュするようなことをする必要がありますか。次に、セッションをチェックして、適切なビューを設定します。
前もって感謝します
c# - ASP.NET 3.5 WebForms でワンタイム ロジックを初期化するための推奨される方法は何ですか?
シナリオ:
- ASP.NET 3.5 WebForms ベースの Web サイトを持っています。
Foo.aspx
、Bar.aspx
およびbaz.html
(jQuery テンプレート)が含まれています。- 見られる典型的なトラフィックは
Foo.aspx
、(N 回)、Bar.aspx
(N 回)、およびbaz.html
(10*N 回) です。 - ASP.NET ワーカー プロセス (
aspnet_wp.exe
) は、たとえば 2 時間ごとにリサイクルされます。 OldFooService.Init()
の最初の要求に対してのみ実行する必要がある古い API ( ) が存在しますFoo.aspx
。OldFooService.Init()
最初のフローではデータ ストアを初期化しますCache
が、後続のフローでは空白を起動します。
質問:
私は現在 B (下記参照) を行っています。これは、へのトラフィックが1 回目Foo.aspx
よりも低く、baz.html
ブランクOldFooService.Init()
が発生するためです。
Cを使用する必要がありますか?への書き込みにApplication_State
はロック ( MSDN ) が必要であり、使用できることが保証されていないため、努力する価値があるかどうかはわかりません。それとももっと良いDがありますか?
オプション:
A)Application_Start
のGlobal.asax
B)一度Page_Load
にFoo.aspx
( をチェックしてNot IsPostBack
)
C) オプション B + のフラグを使用して、 のApplicationState
リサイクルごとに 1 回実行しaspnet_wp.exe
ます。
c# - ASP.NET Web サイトでのアプリケーション状態の永続化
ASP.NET Web サイトの Web サイト設定をアプリケーション状態で保存しています。メソッドの状態も初期化しましたApplication_Start()
。特定のユーザーはこれらの設定を変更できますが、一定期間が経過するとApplication_Start()
、サーバーが常に実行されているにもかかわらず、設定がメソッドで初期化された値に戻ります。
なぜこれが起こっているのですか?特定の期間リクエストを受信しない場合、アプリケーションはシャットダウンされますか?
前もって感謝します。
android - 「永続的な状態」と「現在の状態」
(私のアプリケーションのために)何をonPause()に保存し、何をonSaveInstanceState() に保存するかを決定しようとして、ヒントと明確なガイドラインのために SO 全体を調べました。
私が正しく理解していれば、onSaveInstanceState()は「実行時の変更」または「現在の状態」(それが何を意味するにせよ) を保存するのに最適であり、onPause()は「永続的な状態」(それが何を意味するにせよ) を保存するのに最適です。
アプリケーションで「永続的な状態」と「現在の状態」を構成するものを判断するのにまだ苦労しています。たとえば、ユーザー設定は明らかに永続的ですがonPause()
、ユーザーが変更したときに Android UI フレームワークによって常に自動的に保存される場合、それらを保存する必要がありますか?
クラス データ メンバーはonSaveInstanceState()に保存する必要がありますか? アプリケーションのすべてのクラスでこれを行う必要がありますか?
私は混乱しています。
onPause()
に保存する必要があるものと に保存する必要があるものの実例を挙げていただけますonSaveInstanceState()
か? つまり、デバイス構成の変更を除きます。
--
私の質問に答えた後、いくつかの新しい洞察:
- onSaveInstanceState
Bundle
は何にも書き込まれず、永続的ではありません。 - onSaveInstanceState の
Bundle
データは、アプリケーションが閉じられるまでメモリに保持されます。
asp.net - ジェネリックハンドラーからapplication.getにアクセスする方法
私はglobal.asaxを持っており、特定のデータベース要求を処理するクラスなど、アプリケーション全体で使用できるようにしたいいくつかの変数を定義しています。aspxページでは、たとえばVisualBasicを使用してこれらの変数/オブジェクトにアクセスできます。
私の質問:これを汎用ハンドラー(.ashxファイル)から呼び出すことは可能ですか?もしそうなら、コードスニペットを見せていただけますか?ありがとう!
asp.net - HttpApplicationState.Lock は正確に何をしますか?
私のアプリケーションは、関連する 2 つのデータ ビットをアプリケーション状態に保存します。これら 2 つの値を読み取るたびに、(値によっては) 両方を更新する必要がある場合があります。
そのため、別のスレッドが読み取り中に更新されないようにするために、アプリケーションの状態をロックしています。
しかし、 HttpApplicationState.Lock メソッドのドキュメントでは、それが何をするのか正確にはわかりません。
例えば:
どのようにロックしますか?他のスレッドがデータを書き込むのをブロックしますか?
読み取りアクセスもブロックしますか? そうでない場合、別のスレッドが最初の値を読み取った後、2 番目の値を読み取る前に 2 つの値が更新される可能性があるため、この演習は無意味です。
複数のスレッドが同時にデータを書き込むことを防止するだけでなく、別のスレッドが書き込み中にスレッドが読み取らないようにすることも役立ちます。そうしないと、最初のスレッドが、不要なときにデータを更新する必要があると判断する可能性があります。リフレッシュの回数を制限したい。
c# - ASP.net(c#) のアプリケーション変数。
Asp.net のアプリケーションの状態に問題があります。同じアプリケーションのさまざまなフォームで使用する文字列のリストが必要です。ここにリストを追加します。
新しいフォームでリストに文字列を追加しようとしましたが、以下のコードの 2 行目で NullReferenceException が発生します。