2016-12-03 5 views
0

私のプロジェクト全体のフォルダ構造がMVCプロジェクトで定義したリポジトリをWindowsサービスから使用することはできますか?

MySolution 
    MyWindowsService 
     bin 
     obj 
     . 
     . 
     ClassThatDefinesMyService.cs 
     ClassThatContainsMain.cs 
    MyMVCProject 
     App_Data 
     . 
     . 
     Repositories 
     . 
     ThingMyRepository.cs 
     . 
    packages 
     . 
     . 
     . 
    MySolution.sln 

のようなもので、私のWindowsサービスが実行されている(とサービスはMVCプロジェクトのApp_Startに開始された)しながら、私のMVCプロジェクトのための作業を行って何かです。私はデータベースからモデルを作成しました。ThingMyRepository.csは、データベースのインターフェースとして使用したいものです。しかし、私はClassThatDefinesMyService.cs以内に、私はエラーに 不変名「System.Data.SqlClientの」がADO.NETプロバイダが見つかり

ないEntity Frameworkのプロバイダを取得していますから、そのメソッドの1つを呼び出すとき。プロバイダがアプリケーション設定 ファイルの 'entityFramework'セクションに登録されている であることを確認してください。詳細 については、http://go.microsoft.com/fwlink/?LinkId=260882を参照してください。

私は、私は私のサービスでapp.configに私のMVCプロジェクトのweb.configからconnectionStringをコピーすることによって、固定異なるエラーを得た後にこれがいました。とにかく、私は、データベースへの接続にそのリポジトリを使用しようとするとウサギの穴を塞ぐかもしれないかどうか疑問に思っています。これをどうすれば解決できますか?それとも、私はそれを完全に再構築すべきですか?

答えて

2

レポジトリを個別のプロジェクト(インターフェイス&の実装)に移動し、このDALプロジェクトをWebサービスを参照する代わりに参照するだけです。あなたがする必要があります

あなたが発見した限り、あなたは(あなたが本当に持つべきではないもの)リポジトリ内のHttpContextへの参照や他のウェブ特定のオブジェクトを持っていないと、物事は

罰金になります、サービスプロジェクトの設定でも設定を追加してください。

関連する問題