1

背景:作成中のデータ ストアのすべてのビジネス ロジックを保持する CLR データベース プロジェクトを既に作成しています。SQL Server にデプロイされ、データのインポートを処理するさまざまな CLR StoredProcedures によって参照されます。現在、私は Web フロントエンドに取り組んでおり、この目的のために MVC3 プロジェクトの作成を開始しました。完全なビジネス ロジック (オブジェクト定義、品質チェック) が既にあるので、MVC アプリケーションでコードを使用したいと考えています。

これを行う最善の方法は、BusinessLogic CLR プロジェクトを MVC ソリューションに追加し、MVC プロジェクトで参照することだと考えました。これで問題なく動作し、コードを使用できます。ある程度の忍耐があれば、ほとんどの困難を乗り越えることができます。

問題:

1) MVC ソリューションをデバッグする場合、Visual Studio は常に CLR アセンブリをデプロイしようとします。これを回避するには、デバッグの前に MVC ソリューションで CLR プロジェクトをアンロードします。

2) SQLServer からUserDefinedType 参照を取得することも問題のようです。

3) サーバーに同じコードを 2 回デプロイします。1 回は SQL アセンブリを使用し、もう 1 回は MVC フロントエンドを使用します。

質問:

  • SQL Server アセンブリとフロントエンド プロジェクトで同じコードを使用するためのベスト プラクティスはありますか? おそらく、SQL Server にデプロイされた BusinessLogic アセンブリを参照する方法でしょうか? ビジネス ロジックの変更は、フロントエンド コードと SQL Server 上の DataImport の両方からアクセスできる必要があります。サーバーに同じコードを 2 回、SQL アセンブリで 1 回、MVC フロントエンドで 1 回デプロイする必要があるため、現在のソリューションは適切ではありません。

部分的な回答(つまり、意味をなすかすかなもの)をいただければ幸いです。私はこれでほとんど独りです。

4

1 に答える 1

2

ビジネスロジックコードは、独自のクラスライブラリとプロジェクトに含まれている可能性があります。

CLRデータベースソリューションにはこのBLプロジェクトが含まれ、MVCソリューションにはBLプロジェクトも含まれます。しかし、2つのソリューションは別々です。これは当面の問題を解決するように思われますが、BLコードを変更した場合は、2つの展開を行う必要があります...

このBLレイヤーが正しい場所に存在していない可能性があります。このBLがどこかのサービスに存在し、CLRプロシージャとMVCプロジェクトの両方がこの1つの場所でアクセスできると便利です。

于 2012-07-25T18:27:10.587 に答える