2012-03-22 27 views
6

Acabo de terminar mi primera aplicación mvc4. Todo funciona bien hasta que lo implemente y obtengo: 500 - Error interno del servidor. Hay un problema con el recurso que está buscando y no se puede mostrar. cada vez que trato de llamar/Cuenta/Registrar o/Cuenta/Controles de inicio de sesión:Asp.net MVC4 - Error interno del servidor 500 - Solo cuando se publique

Ive husmeando en la consola de Firefox y el violinista. No encontré nada útil allí, pero tampoco sé lo que debería estar buscando.

Algunas otras publicaciones dicen que verifique el registro del servidor, pero eso es un problema en sí mismo porque cuando intento descargar, mover, ver o eliminar el archivo de registro más reciente recibo errores como "error en la transferencia de archivos", "550 no puedo acceder" archivo "," 500 no pudo eliminar el archivo ".

No sé qué más hacer, algunos consejos. Aquí hay algún código para llamar al controlador de inicio de sesión. No publicaré la versión de registro ya que parecen estar relacionados.

Ajax llamada: controlador

$.ajax({ 
        url: "/Account/Login", 
        type: "POST", 
        data: $('#loginForm').serialize(), 
        success: function (resultData) { 
         if (resultData.ok) { 
          ...unrelated stuff...has call to resultData.message 
         } 
        } 
       }); 

ingreso:

[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); 
    } 

Todo parece bastante estándar aquí, así que realmente no sé lo que podría ser o cómo incluso diagnosticar

Respuesta

3

Corrí en un problema similar, que fue el resultado de ciertas DLL referenciadas que no estaban presentes en el GAC del servidor (solo en la máquina de desarrollo con la versión beta de MVC4 instalada). La solución fue establecer esas dependencias a "Copiar a local" antes de la compilación

* System.Web.Mvc 
* System.Web.Routing 
* System.Web.Abstractions 
* Microsoft.Web.Infrastructure 
* System.Web.Razor 
* System.Web.WebPages.Deployment 
* System.Web.WebPages.Razor 

Si tiene el mismo problema de estos enlaces le ayudarán a resolverlo:

Could not load file or assembly 'System.Web.Mvc'

http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx

+0

Gracias por su respuesta, pero esto no funcionó para mí. Tenía todos esos dll (y algunos otros para estar seguro) copiados en mi carpeta wwwroot/bin en el servidor, pero esto no solucionó el problema. Debido a que solo el controlador de registro e inicio de sesión no funciona y otros debido, sospecho que mi base de datos no fue copiada. No hay ninguna opción para incluir archivos App_Data cuando utilizo la función de publicación VS y no veo el archivo db en ningún lugar del servidor. Este es probablemente el problema que voy a investigar ahora, ya que nunca he hecho antes, pero cualquier comentario para hacer esto posiblemente más fácil, por supuesto, es bienvenido :) gracias – parliament

+0

¿Puedes editar tu publicación para incluir los detalles de error de 500 reales? Desactive 'mensajes de error amigables' en su navegador y habilite el elemento customErrors en web.config para que pueda ver el mensaje de error real. http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx – mellodev

+0

Agregué a mi archivo web.config y apagué los mensajes de error amigables: el error es lo mismo, simplemente: 500 - Error interno del servidor. Existe un problema con el recurso que está buscando y no se puede mostrar. – parliament

Cuestiones relacionadas