WPFでは、依存関係プロパティを使用しますが、Webアプリケーションでそれらを使用できるかどうかは疑問です。
など。私はテキストボックスの値 "ジャック"を持っているとしましょう。その名前はデータベースから来るので、データベーステーブルのフィールドが更新され、その名前が "john"に変更されると、これはテキストボックスの値にどのように影響しますか?データベースへの依存関係プロパティの使用
答えて
Webアプリケーションでは、WPFアプリケーションでは動作が少し異なります。
ウェブアプリケーションでは、リクエストが入力され、サーバーはリクエストを処理してから、結果をクライアントのブラウザに返します。サーバー上で何かが変更された場合、サーバーは新しい要求が来てサーバーが新しい応答を返すまで、クライアントにこれを知らせることはできません。
ASP.NETには、データバインディングとデータソースという概念があります。たとえば、クエリを実行し、結果をグリッドまたはリストコントロールにバインドするようにSqlDataSourceを構成できます。これは、ユーザーがページを読み込んだときに実行されます。
サーバー上の何かが変更されたときに自動的にデータを更新するには、変更があるかどうかを確認してブラウザでHTMLを更新するためにクライアントが変更をサーバーに常にポーリングする必要があります。これは、TwitterやLinkedInのようなアプリで起こっていることですが、WFPアプリでよく慣れていた概念とは全く異なります。
短い答えはいそうですが、データがどこから来ているかは関係ありません。 基本的にViewModelと呼ばれるINotifyPropertyChanged
を実装するクラスを作成します。このクラスは、DBから来るデータをラップし、値が変更されたときにビューに通知します。
どのようにWebアプリケーションでこれを行うだろうか? –
私は質問を誤解していました。私はWebAAppから来ていると思います – MBen
良いアイデア - しかし、あなたはいくつかの主要な問題を見逃しています。
依存プロパティは、本質的には、変更のためにさまざまなものが購読するメモリオブジェクトです。
dbに対して同じ処理を行うには、その変更をアプリケーションに伝える方法が必要です。これらは処理されていないので、クロスプロセスまたはクロスサーバ/ネットワークコールでなければなりません。これらのすべてを手動で定義して構築する必要があります。
wpfのデータバインディングのようなものはWeb上にありません。 DBはデータ変更のためのインタフェースを実装していません。 あなたができることは、DBのストアドプロシージャ(コンパイル済み)を使用し、トリガーのデータ変更をWebインスタンスに通知することです。そこから、Ajax経由でビュー/ Webページを更新できます。
これはもちろん、より良い解決策ではあるが実装するのが難しい「プッシュ」方法です。
また、時間のかかる間隔でデータプールを実行し、それに応じて更新することもできますが、実装は簡単ですが、実際にはリソースが悪いです。
敬具、 P.
- 1. 依存関係のプロパティ依存関係
- 2. UserControlの依存関係プロパティへのバインド
- 3. カスタムスタイルの依存関係プロパティへのアクセス
- 4. タイプバインディングの依存関係プロパティへのバインド
- 5. 依存関係プロパティの使用コスト
- 6. XAML依存関係プロパティへのバインド
- 7. ユニットテストの依存関係プロパティ
- 8. 依存関係の依存関係の使用
- 9. カスタムコントロールと依存関係プロパティ
- 10. 依存関係プロパティはnull
- 11. WPF依存関係プロパティ
- 12. 依存関係の依存関係
- 13. WPFデザイナーと依存関係プロパティへのバインドの問題
- 14. 依存関係のプロパティの再入力
- 15. Mavenの依存関係のバージョンは、プロパティ
- 16. Silverlight検証依存関係のプロパティ
- 17. c#uwpテンプレートバインディングと依存関係のプロパティ
- 18. データベースへの依存関係の挿入scalaオブジェクト
- 19. 依存関係の依存関係へのアクセスを禁止する方法
- 20. データベースを使用するノード・ソープ・サービス(依存関係の問題)
- 21. PocketPCへのSQL CEの依存関係
- 22. ビルドスクリプトのプロジェクトへの依存関係
- 23. #definesへの依存関係のベストプラクティス?
- 24. CMAKEのExternalProject_add依存関係へのリンク
- 25. メークファイルへの依存関係の指定
- 26. Foreachループを使用した依存関係へのアクセス
- 27. Maven - 依存関係管理の使用
- 28. 使用してサードパーティの依存関係
- 29. シェフ:プロバイダへの依存関係
- 30. Jar依存関係へのアクセス
あなたの美しい答えに感謝しますが、MBenは私がwpfでそれを正しく行うことができると言いますか? Webアプリケーションではありません –
WPFでも可能です。 SqlDependencyのようなものは、データベースの変更を追跡し、それらの変更をWPFフォームにプッシュするのに役立ちます。 Webアプリケーションでは、コードとクライアントの間に直接接触がないため、デフォルトではこのシナリオはWebでは不可能です。ただし、AJAXやWebSocketのようなものを使用してこの動作を作成することはできますが、WPFほど簡単ではありません。 –