我有一个 MVC4 网站,我正在尝试集成一些 Mongodb 功能(现在只是试验)。我正在使用这个mongodb 项目,因为我也在尝试部署到 Azure,这个项目提供了用于连接到 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)
所以我尝试在visual studio中调试。控制器构造函数被命中,但 MongoMovieHelper 中的任何断点都没有,并且尝试 Step into 只是再次命中控制器构造函数。堆栈跟踪显示以下错误:
无法加载文件或程序集 'MongoDB.Driver, Version=1.4.2.4500, Culture=neutral, PublicKeyToken=f686731cfb9cc103' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
以前我有另一个类建立 Mongodb 连接,所以控制器调用 MongoMovieHelper,后者调用 MongoDBHelper。在这种情况下,控制器和 MongoMovieHelper 都被调用,但 MongoDBHelper 没有,所以我相信问题出在 mongodb 连接上。
这可能是一些新手错误,但我就是不知道问题可能是什么,有什么想法吗?