問題タブ [single-instance]

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 投票する
3 に答える
3730 参照

asp.net-mvc - WebアプリでEntityFrameworkDbContextの依存性注入をどのようにスコープする必要がありますか?(InstancePerHttpRequestとSingleInstance)

DbContextオブジェクトは、スレッドセーフでない性質のため、SingleInstanceではなくInstancePerHttpRequestとして作成する必要があることを読みました。これは、requet間で大量のリソースを消費し、意味をなさない可能性があるためです。しかし、私はDbContextインスタンスを使用するリポジトリオブジェクトを使用しています。それらをInstancePerHttpRequestにするか、SingleInstanceにして、DependencyResolverを使用して現在のDbContextを取得する必要があります。

Autofac(またはその他のDI)、DbContext、リポジトリ、およびサービスベースのWebアプリケーションにとって、最適なオブジェクト作成設計は何でしょうか?

別の質問ですが、Webリクエストごとにリポジトリまたはサービスごとに異なるDbContextオブジェクトを作成するのにどれくらいの費用がかかりますか(リクエスト内の10〜15個など)?

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

c# - ac# WinForm アプリケーションの 1 つのインスタンスを実行する方法は?

起動時にログインフォームを表示し、ユーザーが認証された後にメインフォームを表示する C# アプリケーションがあります。Mutex を使用して、アプリケーションのインスタンスを 1 つだけ実行するように制限しました。そして、これはログインフォームでのみうまく機能します。メイン フォームが表示されると、ユーザーがログイン フォームを再び開くことは制限されません。メインフォームが既に開いているとログイン画面が表示されないという解決策を探していました。

これが私のProgram.csです

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

c++ - シングルトンについて

シングルトンはアンチパターンなので悪いと思います。また、これの主な理由は、とにかくシングルトンへのグローバル参照であると読みました。

シングルトンを回避することは常に可能ですか?

もしそうなら、例えば私はIOCPネットワークを手に入れ、それを一度初期化する必要があり、このオブジェクトはソフトウェアの存続期間全体を通して一定である必要があるとしましょう。同じことが、私が「ペイント」と呼んでいる、データを画面に印刷するクラスに付属しています。シングルトンを作成しなかった場合でも、現在のHwndのグローバル変数が必要であり、オブジェクトを使用するたびにローカルでオブジェクトを初期化する必要があります(本当に面倒です)。

それで、シングルトンを使用することは、私の設計に欠陥があることを示していますか?それらを回避するために何ができますか?

ありがとう。

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

hibernate - 単一のストラットを介して複数のデータベースに接続する - 休止状態のアプリケーション

Tomcat で実行されている struts-hibernate-mysql アプリケーションがあります。アプリケーションのコードベースは同じにしたいのですが、システムにログインするユーザーに基づいてアプリケーションを異なるデータベースに動的に接続したいと考えています。

基本的には、学校ごとに異なるデータベースを用意したいと考えています。各学校のデータベースは大きくなるため、各学校のデータベースを別々にすることにしましたが、Java コード ベースは同じにすることにしました。したがって、Web アプリケーションの複数のインスタンスを tomcat にデプロイすることは望ましくありませんが、ログインする人に応じて、単一のアプリケーションがさまざまなデータベースに接続できる必要があります。

これはどのように達成できますか?

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

java - Javaアプリケーションlaunch4jシングルインスタンスを再度開く方法

概要:デスクトップアイコンをクリックして、非表示のアプリを再び表示します。

Javaデスクトップアプリケーションを作成し、Launch4jを使用して実行可能ファイルを作成しました。私のアプリケーションは単一のインスタンスとして実行する必要があります。Launch4j構成GUIでそのオプションをチェックすることでこれを達成しました。ユーザーがウィンドウのxボタンをクリックすると(私はJFrameを使用しています)、ウィンドウは非表示になります。廃棄されません。ユーザーがシステムトレイアイコンをダブルクリックすると、アプリケーションウィンドウが再び表示されます。ユーザーがアプリケーションのデスクトップアイコンをダブルクリックし、アプリケーションがすでに実行されている場合、システムトレイアイコンの動作と同じように、メインウィンドウが再び表示されるようにする必要があります。

Launch4jは、[単一インスタンス]タブの下にウィンドウタイトルのオプションを提供します。このオプションは、私が必要としているものを対象としているのではないかと思います。ただし、ウィンドウタイトルを設定して上記の手順を実行すると、空白の白いウィンドウが表示されます。空白の白いウィンドウが表示された状態で、システムトレイアイコンをダブルクリックすると、アプリが白いウィンドウに表示されます。この動作は、トップレベルのコンテナ(Window、Frame、JFrame)に関連するコードを変更すると効果がある可能性があることを示しています。

Launch4jを使用しながら、この動作を組み込む方法について何かアイデアはありますか?(便利です)。

編集:

私の質問の核心は、ユーザーが実行可能デスクトップアイコンをダブルクリックしたときに何が起こるかをどのように定義するかです。既存のインスタンスを確認し、ダブルクリックを関連するシステムトレイアイコンにリダイレクトできれば、それは素晴らしいことです。

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

json - WCF:配列である場合もあれば、単一のオブジェクトである場合もあるDataMemberを(json)マップする方法は?

この質問のタイトルを書いているとき、私はたまたまこの答えに出くわしました。ただし、WCF クライアントでこれを行う方法を探しています。JSON.Net を WCF クライアントにプラグインする方法はありますか?

ヤフー!数日前にPlaceFinderサービスを変更したばかりです。変更の 1 つは、応答にノードが含まれなくなりResults、代わりにノードが含まれるようになったことResultです。もう 1 つの変更点は、このノードに結果オブジェクトの配列が含まれる場合 (2 つ以上の結果がある場合) と、単一の結果オブジェクトが含まれる場合 (結果が 1 つしかない場合) です。

WCF を使用DataMemberAttributeしてこの種の構造を逆シリアル化し、両方のシナリオに対応する方法はありますか?

Fiddler2 で見られる 2 つの応答例を次に示します (ここでも、結果の一部が省略されています)。

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

objective-c - UINavigationController のインスタンスを作成するにはどうすればよいですか?

私の最初の iPhone アプリには、NavigationController があります。AppDelegate で UINavigationController のインスタンスを定義し、それを既定のナビゲーション コントローラーに設定するにはどうすればよいですか?

.h:

.m:

UINavigationItem の CustomNavigationItem サブクラス:

.h:

.m:

これが私のストーリーボードのスクリーンショットです: http://postimage.org/image/sv6elwmcz/

TabBarController の NavigationItem のクラスは CustomNavigationItem に設定され、NavigationItem の右ボタンには -(IBAction)actionApply:(id)sender アクションがあります。

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

android - Android LaunchMode が機能しない

通知から一時アクティビティを開始しました。テキスト メッセージを表示するだけです。launchMode=singleInstance または noHistory=true に設定したものは何でも、「最近開いたもの」から入ると、前回表示された一時アクティビティが再び表示されます。一時的なアクティビティは、通知をクリックした場合にのみ表示され、「最近開いたもの」には表示されません。前もって感謝します。

編集:@Lalit Poptani、私はあなたが提案したことを試しましたが、それは私が必要とするものではありません. android:excludeFromRecents="true" で一時アクティビティをクリックすると、アプリが "Recent" に表示されなくなりました (ユーザーが見つけられず、すべてのアクティビティが除外されます)。

編集: 事実: トーストのようにテキストを表示する 3 つの tmp アクティビティがあり、2 つはウィジェットから開かれ、アプリ スタックと混合されませんでした。1 は通知から開かれ、常に「最近」から個別に表示されます。

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

mono - モノラルでアプリケーションの単一インスタンスを強制する方法は?

したがって、次のように、Windowsでアプリケーションの単一インスタンスを適用できます。

ただし、Linuxでモノラルで同じアプリケーションを実行すると、このコードはまったく機能しません。複数のコピーを実行できます。のようにターミナルでアプリケーションを起動しているという事実と関係があるのか​​どうかはわかりませんmono MyPro.exe。これが問題である場合、コマンドラインを実行する前にいくつかの値を渡す必要がありますか?

前もって感謝します、

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

android - android:launchMode="singleTask" は、複数のルート アクティビティの共存を妨げません

私の意図は、タスクのルート アクティビティがどのような条件でもインスタンスを 1 つだけ持つようにすることでした。だから私は android:launchMode="singleTask" を設定しました。これはほとんどの場合うまくいきました。

ただし、自分のタスクを他のタスクにすばやく切り替えて何度も元に戻すと、launchMode 設定の効果が失われるように見えました。以下のログがキャプチャされているように、以前のインスタンスが破棄される前に、アクティビティの新しいインスタンスが作成されたことを確認しました。

任意の条件でルート アクティビティの 1 つのインスタンスを確実にするための完璧なソリューションを提供してくれる人はいますか?

前もって感謝します