問題タブ [lifecycle]
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.
.net - ASP.NET で接続が実行されている間、オブジェクトを保持する
ASP.NET を使用して Web サービスを開発していますが、.asmx や WCF ではなく、カスタム サービスであるため、Http クラス (コンテキスト、要求、応答など) を使用しています。セッションが無効になっています。私は独自のハンドラーとモジュールを使用しています。
接続が有効な間、オブジェクトを有効にしてアクセスできるようにしたいと思います。つまり、リクエストが入力され、それに DbCommand を割り当てると、その接続は処理を行っている限りそのコマンドを使用します。その接続が終了すると、オブジェクトを破棄する必要があります。
私はそれを私の IPrincipal 実装に追加できると考えました。その後、接続がモジュールで認証され、ユーザーが取得されたときに、その DbCommand を IPrincipal に追加できるので、コード内のどこからでも取得できます。 、モジュール EndRequest イベントの後、私はそれを処分することができますが、これを行うためのより良いアプローチがあるかどうかはわかりません。
どう思いますか?
乾杯
java - ポートレット用のSpringMVC、ライフサイクルのリクエスト
ポートレットアプリ(Springのアノテーションベースのコントローラー)のSpringリクエストライフサイクルに関するドキュメントの入手先を知っている人はいますか?
Springによるメソッドの呼び出し順序と、リクエスト処理の各段階で使用可能なパラメーター(リクエスト、モデルなど)を知る必要があります。
主な質問は次のとおりです。@ModelAttributeメソッドが呼び出されたとき(デバッグですでに取得した「その後、その前」だけでなく、全体像を確認したい)
どうもありがとう!
apache-flex - 空気中のリモート クラス エイリアス
こんにちは Flex では、次のようにリモート クラス エイリアスを簡単に定義できます。
しかし、私の質問は、クライアント アプリがサーバーのファイル構造を認識していないため、AIR でどのように行うかということです。
よろしく、
android - Backを押すと、常にActivityがfinish()になりますか?
戻るボタンを押すと、基本的に現在のアクティビティがになりfinish()
ます。これは常に当てはまりますか?アクティビティをスタックからポップする方法と同じように見えます。
よくわからない状況の1つは、タスクのルートアクティビティがバックプレスされたときです。私は現在、次のように説明されている非常に奇妙な効果を経験しています:
アプリケーションをロードすると、最初のアクティビティは初期化用であり、終了すると、メインのアクティビティ(TabActivity)を呼び出します。この最初の初期化アクティビティでは、マニフェストにandroid:noHistory = "true"が設定されているため、メインのアクティビティから[戻る]を押しても元に戻りません。ランチャーに行きます。ランチャーでアプリをもう一度クリックすると、初期化アクティビティが再度読み込まれ、完了するとメインアクティビティが読み込まれます。ほぼ直後に、メインアクティビティの2番目のインスタンスが読み込まれます。ただし、アプリケーションがすでに1回実行され、メインアクティビティから[戻る]を押して終了した後でのみです。アプリを強制終了するか、IDEから新しいバージョンをロードするまで、それ以降は毎回実行されます。
これに基づいて、ある種のActivityインスタンスが横になって再利用されているのではないかと考えています。これは、アプリケーションを実行した2回目以降にのみ発生するためです(そしてBACKで終了します。HOMEを使用すると、アプリの最後の状態に戻ります。大きな問題ではない)。誰か考えがありますか?
ajax - JSF 2 f:ajaxライフサイクルの問題
問題は、f:ajaxリクエスト中にプロパティが変更され、その変更された値に応じてバインドされたpanelGroupを新しく作成する必要がある場合、古い値が使用されることです。
このコードは問題を説明します。
backingbeanTestBeanは次のとおりです。
そして今、jsf / faceletコード:
ページが最初にロードされた後、outputTextとpanelGroupは最初と最後の両方として「null」を表示します。しかし、ボタンが押された後、outputTextは適切に更新されますが、パネルグループには再び「null」のみが表示されます。これは、最初と最後のプロパティが更新される前に「バインドされたメソッド」dynamicPanelが実行されるという問題が原因です。
この動作をどのように回避できますか、または私のコードの何が問題になっていますか?
lifecycle - 成功した製品を持っていたが、革新しなかったために破産した会社?
私が働いている会社には、成功したソフトウェア製品がありますが、現在は時代遅れで保守不可能です。私はあなたが生き残るためにこの製品を革新し、新しい製品に置き換える必要があることを説明しようとしています。私は、私たちが犯しそうな間違いを犯した企業のいくつかの良い例を探しています-通常の寿命の間に1つの成功した製品に依存しているので、議論をするときの例証としてそれを使用できます。
これらの製品はソフトウェアである必要はなく、この状況をよく示す象徴的なケースですが、製品がソフトウェアではなかった場合もありがたいです。
java - Hibernate entities stored as HttpSession attribute values
I'm dealing with a legacy Java application with a large, fairly messy codebase. There's a fairly standard 'User' object that gets stored in the HttpSession between requests, so the servlets do stuff like this at the top:
The old user authentication layer (which I won't describe; suffice to say, it did not use a database) is being replaced with code mapped to the DB with Hibernate. So 'User' is now a Hibernate entity.
My understanding of Hibernate object life cycles is a little fuzzy, but it seems like storing 'User' in the HttpSession now becomes a problem, because it will be retrieved in a different transaction during the next request. What is the right thing to be doing here? Can I just use the Hibernate Session object's update() method to reattach the User instance the next time around? Do I need to?
entity-framework - CRUDシナリオでObservableCollectionから削除されたオブジェクトを追跡するにはどうすればよいですか?
多層ビジネスアプリケーションにはObservableCollections
、サービスコールから返される自己追跡エンティティがあります。
アイデアは、エンティティを取得し、それらをコレクションクライアント側に追加、更新、および削除してから、これらの変更をサーバー側に送信して、データベースに永続化できるようにすることです。
自己追跡エンティティは、その名前が示すように、自分の状態を追跡します。新しいSTEが作成されると、追加状態になります。プロパティを変更すると、変更状態が設定されます。削除状態にすることもできますが、エンティティがObservableCollection
(明らかに)から削除されると、この状態は設定されません。この動作が必要な場合は、自分でコーディングする必要があります。
私の現在の実装では、エンティティがから削除されたObservableCollection
ときに、それをシャドウコレクションに保持します。これObservableCollection
により、がサーバーに返送されたときに、削除されたアイテムを一緒に送信できるため、EntityFrameworkはそれらを削除することを認識します。
次のようなもの:
これで、ユーザーが変更をサーバーに保存することにした場合、削除されたアイテムのリストを取得して、それらを一緒に送信できます。
この時点で、UpdateCustomers
メソッドはアイテムが削除されたかどうかをシャドウコレクションで確認し、それらをサーバー側に送信します。
これらのシャドウコレクションのライフサイクルについて考え始めるまで、このアプローチは問題なく機能します。基本的に、ObservableCollection
ガベージコレクションの場合、辞書からシャドウコレクションを削除する必要があることを知る方法はありません。
この場合、基本的に手動のメモリ管理を行う複雑なソリューションを思いつきました。私はを維持し、WeakReference
数ObservableCollection
秒ごとに参照が非アクティブであるかどうかを確認します。その場合、シャドウコレクションを削除します。
しかし、これはひどい解決策のようです...StackOverflowの集合的な天才がより良い解決策に光を当てることができることを願っています。
編集:
結局、私はサブクラス化することにしましたObservableCollection
。サービスプロキシコードが生成されるため、派生型を返すように変更するのは比較的簡単な作業でした。
すべての助けをありがとう!
validation - 検証エラー中にfacesメッセージが追加された場合、JSFはアプリケーションの呼び出しフェーズをスキップしますか?
これをよりよく理解するためにあなたの助けが必要です。これは私の場合です。フォームの入力コントロールごとにカスタムバリデーターがあります。したがって、検証エラーが発生した場合は、対応するFacesMessageをvalidateメソッドに追加します。私の理解では、検証エラーがある場合、またはカスタムバリデーターのvalidateメソッドにFacesMessagesが追加されている場合、INVOKE APPLICATIONフェーズをスキップし、RENDERRESPONSEPHASEを直接呼び出します。プロセス検証フェーズ-これは正しいですか?
私が直面している問題は、検証エラーのために、プロセス検証フェーズでFacesMessageを追加し、INVOKEAPPLICATIONPHASEでユーザーが実行したアクションの確認メッセージを追加することです。 RENDER RESPONSEフェーズのページ?-上記の質問で私の理解が正しければ-現在のFacesContextにFacesMessagesがないことを確認した後、条件付きで確認FacesMessageを追加するのがベストプラクティスですか?
これがメッセージの追加方法です:
表示方法は次のとおりです。
あなたの助けに感謝。
java - JBoss の起動時に EJB でメソッドを呼び出す
JBoss にデプロイされた EJB のエントリ ポイントを探しています。
サーブレットには load-on-startup
、その で使用するタグがありますweb.xml
。
init()
EJBの同様の機能を探しています。