私はMVC4Webサイトを持っており、いくつかのMongodb機能を統合しようとしています(今のところ実験中です)。Azureにもデプロイしようとしているため、このmongodbプロジェクトを使用しています。このプロジェクトは、mongodbワーカーロールに接続するための接続ユーティリティを提供します。次のコンストラクターを持つMovieControllerがあります。
public class MovieController : Controller
{
MongoMovieHelper _movies;
public MovieController()
{
_movies = new MongoMovieHelper();
}
}
これにより、クラスが呼び出されます。
public class MongoMovieHelper
{
public MongoCollection<Movie> Collection { get; private set; }
public MongoMovieHelper()
{
MongoServerSettings serverSettings = ConnectionUtilities.GetConnectionSettings();
MongoServer server = MongoServer.Create(serverSettings);
MongoDatabase db = server["movies"];
Collection = db.GetCollection<Movie>(typeof(Movie).Name.ToLower());
}
...
ムービーコントローラからページを読み込もうとすると、Chromeデバッガで内部サーバーエラーが発生します。
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
そこで、VisualStudioでデバッグしてみました。コントローラーコンストラクターはヒットしますが、MongoMovieHelper内のブレークポイントはヒットせず、ステップインしようとすると、コントローラーコンストラクターが再度ヒットします。スタックトレースには、次のエラーが表示されます。
ファイルまたはアセンブリ'MongoDB.Driver、Version = 14.2.4500、Culture = neutral、PublicKeyToken=f686731cfb9cc103'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)
以前は、Mongodb接続を確立する別のクラスがあったため、ControllerはMongoDBHelperを呼び出すMongoMovieHelperを呼び出します。この場合、コントローラーとMongoMovieHelperの両方が呼び出されていましたが、MongoDBHelperは呼び出されていなかったため、問題はmongodb接続にあると思います。
これはおそらく新人の間違いですが、私は問題が何であるかを理解することができません、何かアイデアはありますか?