問題タブ [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 投票する
5 に答える
196315 参照

c++ - C++関数の静的変数の寿命は?

static変数が関数のスコープ内で宣言されている場合、変数は一度だけ初期化され、関数呼び出し間でその値を保持します。その寿命は正確には何ですか?そのコンストラクタとデストラクタはいつ呼び出されますか?

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

c# - C# でこの TCP 接続を処理するための推奨される方法は何ですか?

IR コマンドをルーティングする目的で GlobalCache GC-100-12 と通信するサーバー アプリケーション (シングルトンの単純な .NET コンソール アプリケーション) があります。ローカル ネットワーク上のさまざまな .NET WinForm クライアントがサーバー アプリケーションに接続し、ASCII コマンドを送信します。サーバー アプリケーションは、これらの ASCII コマンドをキューに入れ、TCP 接続を介して GC-100-12 に送信します。

私の質問は、サーバーの観点からこの接続を処理する最良の方法は何ですか? 次の 2 つの方法が考えられます。

  1. 個々の要求ごとに新しい TcpClient を作成して開きます。リクエストが完了したら、TcpClient を閉じます。

  2. サーバーの起動時に 1 つの TcpClient を作成して開き、(必要に応じて) キープアライブを使用して、サーバー オブジェクトの存続期間中、接続を開いたままにします。

リクエストごとに新しい TcpClient を作成するオーバーヘッドが気になるので、この質問をします。高額な手術ですか?これは悪い習慣ですか?

現在、私は #1 を実行しており、各送信の結果をコンソールに出力しています。時折、一部の接続がタイムアウトし、コマンドがルーティングされないことがあります。これは、毎回新しい TcpConnection を作成するオーバーヘッドが原因なのか、それとも何か他のことが原因なのか疑問に思っていました。

接続が切断された場合は再作成する必要があり、その状況を処理するにはもう少しコードが必要になるため、#2 はより複雑であることがわかります。

これに関する一般的なアドバイスを探しています。TcpClient クラスを扱った経験はあまりありません。

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

asp.net - ステートレスasp.netアプリケーションで静的クラスの有効期間はどのように影響を受けますか?

アイテムの小さな辞書を追跡するヘルパー クラスを定義しました。この情報は、静的コンストラクターで初期化される静的プロパティとして格納されます。リストは非常に小さく、変更されることはないため、xml または db ルックアップ テーブルよりもこの方法を選択しました...

しかし、私が知りたいのは、asp.netがステートレスであると想定されている場合、この静的プロパティはページ間、またはページ内でも値を保持するかということです.

たとえば、このリストをページの 2 つの異なるドロップダウンリストにバインドしています

静的クラス Helper は 2 回呼び出されるため、そのコンストラクターも 2 回呼び出されるのでしょうか、それともページのライフサイクル全体を通してスコープ内にとどまりますか?

次のページに移動して再度バインドする必要がある場合、まだ初期化されているのでしょうか、それとも最初からやり直すのでしょうか?

0 投票する
11 に答える
1922 参照

database - データの寿命は?

最近、管理者がデータベースからデータを削除する機能を望んでいるが、そのデータを他の場所に表示したいというデータベースのもつれに陥っていることに気づきました。例: 製品 whizbang のすべてのインスタンスを削除したいが、販売レポートには whizbang を表示したい。(前の日付で実行した場合)。

これで、その製品が削除されたかどうかを追跡する is_deleted などのフィールドを追加できるため、すべての参照が保持されますが、一定期間にわたって、大量の死んだデータを格納する可能性があります。(二度とアクセスされないデータ)。これをどのように処理するかは私の質問ではありません。

あなたの経験から、データの平均寿命はどれくらいですか? つまり、データが置換または削除されるまでの平均的な期間はどれくらいか? これはあなたが保管しているデータの種類に関連していることは理解していますが、確かにすべてのデータには何らかの寿命がありますか?

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

asp.net - ASP.Net セッションの有効期間について

ASP または ASP.Net セッションのライフ タイム (またはライフ サイクル) の概念について混乱しています。より具体的には、私の混乱は次のとおりです。

  1. IIS は、新しいセッションの開始時と既存のセッションの終了時をどのように決定しますか? 特に、IIS は、リダイレクト コードを呼び出したときに、セッションを継続するか終了するかをどのように決定するのでしょうか?
  2. セッションの有効期限を設定するにはどうすればよいですか? (現在、web.config sessionStateアイテムを介して設定することしか知りません。)
  3. あるセッションが別のセッションの変数にアクセスすることは可能ですか?
0 投票する
5 に答える
9648 参照

c++ - C ++でのクラス静的変数の有効期間はどれくらいですか?

Test::というクラスがある場合

staticVectorはいつ構築され、いつ破棄されますか?

Testクラスの最初のオブジェクトのインスタンス化によるものですか、それとも通常の静的変数のようなものですか?

明確にするために、この質問はプログラミング言語の概念(Sebesta Ch-5.4.3.1)を読んだ後に頭に浮かび、::と書かれています。

静的修飾子がC++、Java、およびC#のクラス定義の変数の宣言に含まれている場合、それは変数の存続期間とは関係がないことに注意してください。その文脈では、それは変数がインスタンス変数ではなくクラス変数であることを意味します。予約語を複数回使用すると、特にその言語を学ぶ人にとっては混乱を招く可能性があります。

わかりましたか?:(

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

.net - .NETで開発されたWindowsサービスのライフサイクルの詳細なビューはどこにありますか?

.NETで開発されたWindowsサービスのライフサイクルの詳細なビューはどこにありますか?ここに十分な詳細な説明が掲載できるかどうかわからないので、このように質問しますが、よろしければお気軽に試してみてください。

間違った答えの例は、MSDNページの説明の貼り付けです:Windowsサービスアプリケーションの概要。それはほとんど十分に詳細ではありません。たとえば、サービスはメモリからアンロードされているため、Disposeメソッドが呼び出されますか?または、OnStopメソッドによって停止され、OnStartメソッドを呼び出して初期化せずに再起動するだけですか?


私の質問に回答し、同時に別の質問を提示しているという事実のために、この質問への将来の訪問者が使用するためのオブジェクトライフサイクル(サービスにも適用されることがわかっています)への参照を次に示します。

StackOverflow-.NETオブジェクトのライフサイクルとは何ですか?

tutorials.beginners.co.uk/read/id/188

developerfusion.com/article/1047/new-objectOriented-capabilities-in-vbnet/3/

楽しみ!

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

asp.net - Unity のコール コンテキストごとのシングルトン (Web リクエスト)

数日前、ASP.Net のスレッド化で問題が発生しました。Web リクエストごとにシングルトン オブジェクトが必要でした。私は実際に私の仕事の単位にこれが必要です。ID マップがリクエスト全体で有効になるように、Web リクエストごとに作業単位をインスタンス化したかったのです。このようにして、IoC を使用して独自の IUnitOfWork をリポジトリ クラスに透過的に注入し、同じインスタンスを使用してエンティティをクエリしてから更新することができます。

Unityを使っているのでPerThreadLifeTimeManagerを間違えて使ってしまいました。ASP.Net スレッド モデルは、私が達成したいことをサポートしていないことにすぐに気付きました。基本的に、スレッドプールを使用してスレッドをリサイクルします。つまり、スレッドごとに 1 つの UnitOfWork を取得します!! ただし、私が望んでいたのは、Web リクエストごとに 1 つの作業単位でした。

少しグーグルで調べたところ、この素晴らしい投稿がありました。それがまさに私が望んでいたことです。達成するのが非常に簡単だった団結の部分を除いて.

これは、統一のための PerCallContextLifeTimeManager の私の実装です。

そしてもちろん、これを使用して、次のようなコードで作業単位を登録します。

誰かの時間を少し節約できることを願っています。

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

php - mysql_connect 接続の有効期間

作った台本が@mysql_connect($server, $user, $password)死んだらどうなる?
それはどのくらい生きますか?

ありがとうございました!

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

session - httpsでのSSLセッションの存続期間

https通信の基礎となるSSLセッションの存続期間について、同僚の間で熱心な(しかし友好的な)議論があります。

通常のブラウザを使用してサーバーへのhttps接続を確立すると、基盤となるSSLが非対称暗号化を使用してセッション(共有シークレットを含む)を作成し、残りの通信は(より高速な)対称暗号化を使用して暗号化されます。

問題は次のとおりです。同じサーバーへの後続のhttps要求(リンクをクリック)で、セッションキーを確立するための非対称暗号化のオーバーヘッドを回避して、古いsslセッションが再度使用されますか?または、sslセッションを確立するための新しい非対称暗号化sslハンドシェイクが必要ですか?

言い換えると、SSLセッションはhttpsリクエスト間で存続しますか、それともhttpsリクエストの終了で終了しますか?

私たちはここにたくさんの落とし穴があるので、いくつかの権威ある情報源への言及は高く評価されるでしょう。