問題タブ [unsubscribe]
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 - IDisposable を使用してイベントのサブスクライブを解除する
WinForms コントロールからのイベントを処理するクラスがあります。ユーザーが何をしているかに基づいて、クラスの 1 つのインスタンスを参照し、同じイベントを処理するために新しいインスタンスを作成しています。最初にイベントから古いインスタンスのサブスクライブを解除する必要があります - 簡単です。できれば非独占的な方法でこれを行いたいのですが、これは IDisposable の仕事のようです。ただし、ほとんどのドキュメントでは、管理されていないリソースを使用する場合にのみ IDisposable を推奨しているため、ここでは適用されません。
IDisposable を実装し、Dispose() でイベントの登録を解除すると、その意図を逸脱することになりますか? 代わりに Unsubscribe() 関数を提供してそれを呼び出す必要がありますか?
編集:これは、私が何をしているのかを示すダミーコードです(IDisposableを使用)。私の実際の実装は、いくつかの独自のデータ バインディングに関連しています (長い話)。
実際のコードでは、「EventListener」クラスがより関与しており、各インスタンスは一意に重要です。これらをコレクションで使用し、ユーザーがクリックするたびに作成/破棄します。
結論
少なくとも今のところ、gbjbaanb の回答を受け入れています。使い慣れたインターフェイスを使用することの利点は、アンマネージ コードが含まれていない場合に使用することの潜在的な欠点を上回ると思います (このオブジェクトのユーザーは、どうしてそれを知ることができるでしょうか?)。
誰かが同意しない場合は、投稿/コメント/編集してください. IDisposable に対してより良い議論ができる場合は、受け入れられた答えを変更します。
email - ニュースレターの購読解除リンクを実装する最良の方法は何ですか?
ユーザー ID と一緒に登録解除リンクに入れる無効化コードを作成しようと考えています。次に、ニュースレターの受信者がリンクをクリックすると、ユーザー ID を調べて、無効化コードが一致するかどうかを確認できます。
これが最善の方法のように聞こえますか?
他にどのような方法がありますか?
paypal - Paypal Unsubscribe return url
Javaでペイパルの購読解除ボタンを作成しました。ユーザーがクリックしてペイパルアカウントにログインして購読を解除すると、ペイパルはnotifyurlに正常に投稿し、データベースを更新できます。ただし、購読を解除した後、サイトに戻りたいです。 。しかし、そうすることはできません。
GUIを表示するために、自分のサイトに戻る方法はありますか。
登録解除ボタンコードpaypalは、次のURLのみを提供してくれました https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_subscr-find&alias=sellr1_1252495907_biz%40gmail%2ecom
通知URLは私のサーブレットです。
前もって感謝します。
-ゼーシャン
c# - イベントの購読を解除する必要がありますか?
イベントに関して3つの質問があります。
- 購読したイベントは常に購読を解除する必要がありますか?
- そうしないとどうなりますか?
- 以下の例では、サブスクライブされたイベントからどのようにサブスクライブを解除しますか?
たとえば、次のコードがあります。
コンストラクター:目的:データベースプロパティの更新用
そしてこれ:目的:GUIバインディングの場合、モデルをビューモデルにラップします
ruby-on-rails - Railsでの購読解除サポートに使用できるgem/プラグインは何ですか?
ユーザーがクリックして、これらのタイプの電子メールを受信しないようにするために、改ざん防止の購読解除リンクを電子メールの下部に簡単に追加できるようにする宝石/プラグインは何ですか?
私が見つけた唯一のものはhttp://kevinlochner.com/handling-unsubscribe-requests-in-ruby-on-railでし た。これは機能しますが、やや洗練されておらず、購読を解除する電子メールの種類などの機能がありません。また、ユーザーが登録を解除するためのメカニズムも含まれていません。
編集:この宝石はメール配信を防ぐのに役立ちますが、購読解除リンクのサポートはありません。github.com/myronmarston/email_blacklist
email_blacklist gemと、HMAC認証を使用した購読解除モデル/コントローラーの組み合わせを使用して、これを自分たちで実装しました。
security - 登録解除リンクでメールアドレスを使用してみませんか
ニュースレターで送信される購読解除リンクにプレーンテキスト形式の電子メールアドレスを含めない理由をいくつか教えてください。
今は:
私が推進しているのは:
メールアドレスをプレーンテキストで送信するというアイデアはあまり好きではありませんが、脅威の可能性について上司を説得する必要があります。
更新:すべての回答は、保護する方法を示唆しており、保護する理由ではありませんが、do-obの回答が最も適切であると思います。
wpf - PRISM とイベント アグリゲーター
PRISM WPF アプリケーションがあります。コンストラクターでイベント (CultureChangedEvent としましょう) をサブスクライブし、アクションを実行する PatientViewModel があります。
私のメイン ビュー モデルには、ObservableCollection があります。
ユーザーが ObservableCollection から PatientViewModel インスタンスを削除し、CultureChangedEvent が発生した場合、削除された PatientViewModel は引き続きメモリ内にあり、イベントを受け取ります。そのため、現在、PatientViewModel を削除するときは、イベントの登録を解除しています。しかし、これが正しいアプローチなのだろうか?または、何か不足していますか?
ありがとう!L
c# - イベントのサブスクライブを解除しようとすると、イベントハンドラオブジェクトが認識されないのはなぜですか?
これは非常に長い質問であることが判明したので、それを読んでコメント/回答する時間をあきらめたすべての人に事前に感謝します:)
編集
- この質問は大幅に簡略化されています。
- サンプルコードは完全でシンプルなプログラムになりました
インターフェイスを介して実装されたオブザーバーパターンを使用し
ています。
これらのインターフェイスを実装する2つの単純なクラスを作成しました。オブジェクトでイベントが発生すると、オブジェクトはMyObserver
コンソールウィンドウに文字列を出力するだけです。Notify
MySubject
このテストプログラムは次のことを示しています。
- イベントをサブスクライブする前
myObserver
は、コンソールウィンドウにメッセージは出力されません。 myObserver
イベントをサブスクライブした後Notify
、メッセージはコンソールウィンドウに出力されます。
/li>myObserver
イベントのサブスクライブを解除した後もNotify
、メッセージはコンソールウィンドウに出力されます
私が抱えている問題は、購読解除プロセスが機能していないことです。
理由がよくわかりません。
質問
- 登録解除プロセスが機能しないのはなぜですか?
- 2つのイベントハンドラーを比較するとどうなりますか?それらはどのように等しいかどうかと定義されていますか?
Contains
これは、呼び出しリストメソッドが常にを返す理由に対する答えにつながる可能性がありますfalse
。
c# - ref キーワードを介してサブスクリプション メソッドに渡されたデリゲートからサブスクライブを解除しますか?
私は次のクラスを持っています:
しばらく検索したところ、ref キーワードで渡された引数を格納できないようです。ソース引数をリストに追加したり、フィールド変数に代入しようとしても、実際のデリゲートの元の参照への参照を保持できません。私の質問は次のとおりです。
- 参照を再度渡さずにすべてのソースからサブスクライブを解除する方法はありますか?
- そうでない場合、メソッドを介してデリゲートを渡すことでサブスクリプションを維持しながら、クラスをサポートするためにクラスを変更するにはどうすればよいでしょうか?
- リフレクションを使わずにそれを達成することは可能ですか?
- デリゲート/イベントをクラスにラップしてから、クラスをサブスクリプションのパラメーターとして渡すことなく、それを達成することは可能ですか?
ありがとうございました。
編集:ラッパーまたはリフレクションを使用しないと、指定された問題の解決策がないようです。私の意図は、ヘルパー クラスでデリゲートをラップすることなく、クラスを可能な限り移植可能にすることでした。貢献してくれてありがとう。
php - 一度に複数のユーザーに送信する電子メールに購読解除リンクを追加する方法
購読解除リンクを使用して、サイトのすべての登録ユーザーに通知メールを送信しています。現在、データベース内のすべてのユーザーを調べて、各ユーザーにメールを送信しています。登録解除リンクの場合、リンクをクリックしたときに各ユーザーを区別するためにユーザーの電子メールを追加しています。登録解除リンクを除くすべてが電子メールで同じです。
ループせずにすべてのユーザーに一度にメールを送信し、ユーザーごとに異なる購読解除リンクを取得して、リンクをクリックしたときに各ユーザーを区別できるようにする方法はありますか?