1

64ビットWindowsServer2003のIISの32ビットスペースで実行されているVBScriptのみ(COMコンポーネントなし)を使用するかなり大きなASPサイトがあります。アーキテクチャの大まかなスケッチは次のとおりです。

プログラミングアーキテクチャの概要

ASP.NETへの移行を開始したいのですが、当面の必要性は、同じサーバー上にある他のC#および.NETアプリ(VS2008で32ビット用にコンパイルされたもの)で使用を開始できる場所でデータベースにアクセスできるようにすることです。 )。

私の考えは、C#.dllを作成し、相互運用機能を使用してASPコードから呼び出すことでした。移行すると、データ部分が既に完了します。

Interopのパフォーマンスへの影響は何ですか?私はおそらく最大で約200人の人がいて、数時間の時間枠内にデータベースの送信を行うアプリをヒットしています。現在の設定では、容量やパフォーマンスの問題はありません。

これから接続するのと同じサブネット上にSQLServer(2005)ボックスがあります。64ビットのWindowsServer2003でもあります。

これは実行可能な戦略ですか?私のアーキテクチャを考えると、これを実行するためのより良い方法はありますか?

現在の大きな問題は、ASPアプリが何百ものストアドプロシージャを使用していることです。私はそれを、たとえばユーザーに対する単純な操作が異なるページ間で異なるprocを使用して実行される可能性がある、重複する部分で開発が行われた時点で継承しました。大きな目標は、コンポーネントへのデータアクセスを一元化し、データベース内の実装を抽象化することです。したがって、フィールドを追加または変更した場合、ASPアプリはその名前を知る必要はありません。オブジェクトの同じプロパティを介してアクセスするだけです。

4

1 に答える 1

2

非常に大規模な課金アプリケーションをVB6からC#に移行するのと非常によく似たルートを取りました。それは完全に実行可能で合理的なアプローチです。

まず、ビジネスロジックとデータアクセスをUIから適切なクラスに移行し、次にUIの一部を従来のASPからASP.Netに移行することに焦点を当てます。

1〜2時間で200人の場合、相互運用のオーバーヘッドに気付くことはありません。

特に、複数のコードバリアントを使用してデータベースに直接アクセスするUIを処理する必要があることを考えると、既存のコードの自動テストを実施するために時間を費やす価値があります。作成する新しいコードについては、テスト駆動アプローチに従うようにしてください。自動テストに多額の投資をしないと、段階的に再構築するときに、アプリケーションが検出しにくい方法で破損するリスクがあります。

于 2012-07-20T15:21:05.647 に答える