WinformをWebformに移行するために必要なビューは何ですか?
質問
アプリケーションは適切に構成されており(ベストを尽くしました!)、ビューからモデルを分割しました。次に、Webアクセスを使用してクライアントに情報を提供する必要があります。 IISとWebフォームを使用して小さなものを構築したいと考えています。
ここでは、役に立つと思われる情報をいくつか示します。
- データベースクエリのスレッドがあるコントローラー
- データベースはPostGresqlです
- すべてはC#2.0でビルドされます
- WinformのViewとControllerの間で多くのデータバインディングを使用しました。
- Winformは内部目的のために残り、ごく一部のみがインターネットで利用可能になります。
この種の動きに対するあなたの提案は何ですか?
更新
データベースは企業内にとどまるように、会社のサーバーでウェブをホストします。データや同期を複製する必要はありません。
解決
「同期」はマイケルが話しているのは、データベース内のデータとWinformアプリによって表示されるビューです。
同様の問題があり、XMLを介してデータを公開するWebサービスを作成し、WebアプリとWinformアプリの両方からサービスを使用するという解決策を思い付きました。データを更新するたびにWebサービスに送信し、クエリを実行するたびにサービスから最新のデータを取得します。ボトルネックを示すプロファイルデータがある場合、またはネットワークから接続せずに実行する場合を除き、Winformアプリでのデータのキャッシュを検討しないでください。
.Net 2ではこれは完全に可能です。3.0またはWCFは必要ありません。
他のヒント
最大の課題は、ローカルのWinformsアプリケーションとホストされているWebformsアプリケーションの間でデータベースを同期することです。これを行うと、Webアプリの作成は簡単です。
Webアプリケーションが読み取り専用の場合、レプリケーションを設定できます。好きなツールを見つけてください。クイック検索で見つけた3つは次のとおりです。
Webアプリケーションが読み取り専用でない場合、問題はより困難です。 WCFを使用できるように、.NET 3.0または3.5へのアップグレードを検討することをお勧めします。機能に大きな重複がある場合は、データを排他的にWebに移動し、WCFサービスを通じて公開することをお勧めします。