Asp.net MVC4 - 内部服务器500错误 - 仅当发布时
问题描述:
刚刚完成我的第一个mvc4应用程序。万事万物,直到我部署它,我得到: 500 - 内部服务器错误。您正在查找的资源存在问题,无法显示。 每次我尝试拨打/帐户/注册或/帐户/登录控制器:Asp.net MVC4 - 内部服务器500错误 - 仅当发布时
我在firefox控制台和提琴手中探听过。我没有发现任何有用的东西,但我再也不知道我应该找什么。
其他一些职位说检查服务器日志,但这本身就是一个问题,因为当我尝试下载,移动,查看或删除最新的日志文件,我得到像“文件传输失败”,“550无法访问文件“,”500无法删除文件“。
我不知道还有什么要做,有些请指教。 继承人调用登录控制器的一些代码。我不会发布注册版本,因为他们似乎相关。
Ajax调用:
$.ajax({
url: "/Account/Login",
type: "POST",
data: $('#loginForm').serialize(),
success: function (resultData) {
if (resultData.ok) {
...unrelated stuff...has call to resultData.message
}
}
});
登录控制器:
[AllowAnonymous]
[HttpPost]
public ActionResult Login(LoginModel model)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
return Json(new { ok = true, message = "Login successful." });
}
else
{
return Json(new { ok = false, message = "The username or password you entered is invalid. Please try again." });
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
这一切似乎相当标准的这里,所以我真的不知道它可能是或如何,甚至诊断
答
我跑成为类似的问题,这是由于某些引用的DLL不在服务器的GAC中(仅在安装了MVC4 beta的开发机器上)。解决的办法是设置这些依赖于编译
* System.Web.Mvc
* System.Web.Routing
* System.Web.Abstractions
* Microsoft.Web.Infrastructure
* System.Web.Razor
* System.Web.WebPages.Deployment
* System.Web.WebPages.Razor
之前“复制到本地”如果你有同样的问题,这些链接将帮助您解决这个问题:
Could not load file or assembly 'System.Web.Mvc'
http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx
感谢您的回复,但这不适合我。我将所有这些dll(和其他一些确定的)复制到服务器上的wwwroot/bin文件夹中,但这并未解决问题。由于只有注册和登录控制器不工作,其他人因为我怀疑我的数据库没有被复制。当我使用VS发布功能时,没有选择包含App_Data文件,并且在服务器上的任何位置都看不到数据库。这可能是我现在要研究它的问题,因为我以前从未做过,但任何意见,使这可能更容易,当然欢迎:)谢谢 – parliament 2012-03-22 23:10:51
你能编辑你的文章,包括实际的500错误细节?在浏览器中关闭“友好的错误消息”,并在web.config中启用customErrors元素,以便看到实际的错误消息。 http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx – mellodev 2012-03-22 23:33:33
我添加了 customErrors>到我的web.config文件并关闭友好的错误消息:错误是相同,只是: 500 - 内部服务器错误。 您正在查找的资源存在问题,并且无法显示。 –
parliament
2012-03-22 23:53:38