問題タブ [lifetime]

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.

0 投票する
1 に答える
208 参照

c# - MEF コンテナーでのワン オア ナッシングの実装

コンテナへのリンクがあるかどうかに応じて、コンテナがクラスのインスタンスであるかどうかを確認するにはどうすればよいですか。私はMEFコンテナ、C#を使用しています

編集: ここに画像の説明を入力

つまり、オブジェクトの共有クラスの有効期間を管理する機能が必要です。たとえば、共有オブジェクト (Obj3) への参照をインポートする 2 つのポイント (オブジェクト Obj1、Obj2) がありますが、これらのクラスは NoneShared であり、長生きしませんが、オブジェクト (Obj3) - それらがインポートしたリンク大きくて高価で、常にメモリに保持されます。

オブジェクトの有効期間を操作する機会を増やす、他の IoC コンテナーがあるのではないでしょうか?

0 投票する
2 に答える
529 参照

javascript - Javascript、ライフタイムが設定されたオブジェクト?

JavaScript で実際にコーディングする方法がわからない問題に遭遇しました。問題は、配列に追加された多くのオブジェクトを作成できるようにしたいということです。この配列に追加するためにオブジェクトが作成されると、オブジェクトには「ライフタイム」があります。この有効期限が切れたら、このオブジェクトを配列から削除する必要があります。

ここで構築しようとしているのは、問題のパーティクルの有効期限が切れた後、パーティクルがレンダリングされなくなるパーティクル システムです。

これについて良いアイデアや例を持っている人はいますか?

を使用することを考えましたがsetTimeout、これがどのように最も効果的かはわかりません。setIntervalclearInterval

0 投票する
1 に答える
2869 参照

c# - DbContext Unity は HttpContextLifetimeManager.RemoveValue() を呼び出さない 悪いこと?

DbConntextObj を定義しています

Unity は、lifetimemanager で RemoveValue() を呼び出していません

複数のリポジトリに対して 1 つの Dbcontext があります。

私の生涯マネージャーは次のようになります。

DbContext Dispose が呼び出されていないのは悪いことですか? Unity と MVC3 の回避策はありますか?

0 投票する
2 に答える
496 参照

android - Google C2DM ClientLogin:認証トークンの有効期間

現在、アプリにGoogleC2DMを実装しています。それはすべてうまく機能しますが、サーバー側のhttps://www.google.com/accounts/ClientLoginから取得したAuth-Tokenが長期間有効ではないことに気付きました(後にHTTP401を無許可にするいくつかのリクエスト/数分後)。

リクエストごとに認証トークンを更新したくありません。

これまでは、将来のリクエストに備えてトークンをデータベースに保存するのが良い方法だと思いました。しかし今、私は、もっと良い方法があるかもしれないと思います。

最善の方法は何でしょうか?

0 投票する
2 に答える
837 参照

.net - 既存のIoCコンテナのいずれかがレイジープロキシクラスを動的に作成できますか?

私はさまざまなDIパターンを研究しています。そして今、私は怠惰な生涯の実装に興味を持っています。たとえば、ファクトリをサービスのインターフェイスの背後に隠すプロキシクラスを作成したいとします。既存のIoCコンテナ(.NET)のいずれかが、実行時にこの種のプロキシクラスを動的に作成できますか?

0 投票する
9 に答える
20414 参照

c - Cでの文字列リテラルの「存続期間」

次の関数によって返されるポインタにアクセスできませんか?

つまり、C / C ++のローカル変数の有効期間は、実際には関数内に限られますよね?つまり、終了した後char* foo(int)、それが返すポインタはもはや何も意味しませんよね?

ローカル変数の存続期間について少し混乱しています。良い説明は何ですか?

0 投票する
3 に答える
188 参照

c++ - オブジェクトの寿命がメンバー関数の期間と一致することを保証するにはどうすればよいですか?

一部の C++ クラス間の結合を減らすために、コールバックを利用してきました。用語を定義するには: コールバックを作成するクラスを呼び出し元と呼び、コールバックを受け取るクラスを呼び出し先と呼びます。通常 (必ずしもそうとは限りません)、呼び出し先は呼び出し元を所有します。設計上、呼び出し元は呼び出し先を認識しません。

呼び出し元オブジェクトの寿命に関連する問題が発生しています。任意のコールバックを行った後も生きているという保証はありません。次の基本的な例を見てください。

呼び出し先が呼び出し元を動的に割り当て、特定の条件が発生するのを待つためにコールバックに登録したとします。その場合、呼び出し先は [1] のコールバック内から呼び出し元を削除します。その場合、制御は caller::f に戻りthisますが、削除されており、[2] のコードはクラッシュする可能性が高くなります。

一般的なケースでは、呼び出し元は呼び出し先について何も想定できません。this呼び出し先が を所有しているかどうか、または割り当てを解除する可能性があるかどうかがわからないthisため、呼び出し元のメンバー関数のスコープの割り当て解除を防止する一般的な手段が必要になります。

私はそれを使用したことはありませんが、考えられる解決策はboost::shared_ptrsとを中心に展開していると思います。enable_shared_from_thisこれらのコールバックは、処理能力が限られているモバイル デバイスで非常に頻繁に (毎秒 40 回以上) 実行されるため、多くの を作成して渡すオーバーヘッドについても心配していshared_ptrsます。

委任は、Objective-C ではかなり一般的なパターンです。私は、一般的な C++ の設計パターンにはあまり詳しくありません。この問題をすばやく簡単に修正する方法はありますか? そうでない場合、この設計は通常、C++ でどのように行われますか?

0 投票する
0 に答える
71 参照

c# - メソッドを実行し、WebApp の有効期間をカウントする

Google Reader! のような通信社の RSS からニュースを収集するアプリケーションがあります。一定期間、DB 内のリンクを更新するメソッドを呼び出したいのですが、それはアプリケーションの有効期間まで続きます。時計のようなもの!!! 休むことなく

スレッディングに関する情報は知っていますが、問題は次のとおりです。

Update メソッドはどこで呼び出すことができますか?

一部のクラスが他のクラスから派生し、プロジェクトでレイヤー化するために使用するクラスがいくつかあります

Global.asax でメソッドを呼び出します。

LinkService の UpdateLinksFromRSS の定義は次のとおりです。

正直なところ、問題は、次のように定義された BaseService にプロパティがあることです。

プロジェクトを実行すると!この行からエラーが発生しました:return HttpContext.Current.Cache;

0 投票する
4 に答える
1271 参照

c++ - (スタック)変数間の割り当てでデストラクタが呼び出されますか?

上記のコード (任意のクラス、行列) では、m2 の情報がコピーされたときに、m1 に関連付けられた情報に対してデストラクタが呼び出されますか?

0 投票する
1 に答える
134 参照

c# - 複数のプロジェクト ソリューション オブジェクトのライフタイム

私は C# の初心者であることを認め、次の質問があります。

3 つのプロジェクト (A、B、C) を持つソリューションがあるとします。プロジェクト C は B を参照し、B と C の両方が A を参照します。B はエントリ ポイントの場所です。プロジェクト A 内のクラスの 1 つにリストがあります。次のようになります。

プロジェクト A:

プロジェクト B:

プロジェクト C:

プロジェクト B と C からリストに追加したいので、B 内に ProjectDuration クラスのオブジェクトを作成します。しかし、プロジェクト C からはスコープの関係でアクセスできません。リストを静的にして、プロジェクト C でオブジェクト TD を作成してみましたが、別の問題が発生しました。アプリの有効期間のリストを維持しますが、実行ごとにリストを空にしたいのです。関数を定義して ProjectDuration オブジェクトを B から C に渡したくありません。また、これが Web サービス アプリケーションであることもわかっているため、複数の接続でリストが繰り返される可能性があるため、1 回の実行後にクリアすることはできません。

何をアドバイスしますか?この問題を解決するにはどうすればよいですか? また、ガベージ コレクターの前にオブジェクト TD を破棄する方法を知りたいですか?

緊急の助けをいただければ幸いです。これらの状況をよりよく理解するためにいくつかの分野を読む必要があるかどうか教えてください...しかし、最初に解決策を!

敬具、