私には2つの解決策があります。ASP.NETMVCソリューションとコンソールアプリケーションソリューション。それらは両方とも同じデータベースを共有します。コンソールアプリは基本的にcronジョブであり、データベース内のデータを処理するために時々実行されます。ASP.NETMVCは単なるフロントエンドです。
それはすべてうまく、ダンディです。ただし、データベースに変更を加えたい場合に問題が発生します。一方のソリューションで変更を加えてデータベースを更新する必要があり(EF Migrations)、もう一方のソリューションに移動して、そこでコードも更新する必要があります。 tDbContextの古い例外を取得します。
それはいつか忘れられるに違いない。:(
理想的な解決策(私は思う)は、ASP.NETMVCにcronジョブサポートが組み込まれている場合です。AzureJobのものとよく似ています。しかし、私のソリューションはIISサーバーでホストされているため、それはオプションではありません。
ここでの私のオプションは何ですか?私は可能な限り最も保守しやすい解決策を探しています。
私は、データアクセス以外の何もしないアセンブリを作成します。これらのアセンブリは、多くの場合、DataAccessLayer(DAL)と呼ばれます。データアクセス層が1つある場合は、両方のアプリケーションで使用できます。これにより、開発プロセスがはるかにスマートになり、1つのプロジェクトが廃止されたデータ構造を使用するという問題が解消されます。
編集
アセンブリをデプロイするには、すべての作業を行うバッチファイルを作成します。
より高度なソリューションは、独自のNuget-Serverなどをセットアップすることです。ただし、この場合は必要ありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加