2012-03-22 19 views
6

Vừa hoàn thành ứng dụng mvc4 đầu tiên của tôi. Mọi thứ đều hoạt động tốt cho đến khi tôi triển khai và tôi nhận được: 500 - Lỗi máy chủ nội bộ. Đã xảy ra sự cố với tài nguyên bạn đang tìm kiếm và không thể hiển thị tài nguyên. mỗi khi tôi cố gắng gọi/Tài khoản/Đăng ký hoặc/Tài khoản/Đăng nhập bộ điều khiển:Asp.net MVC4 - Lỗi máy chủ nội bộ 500 - Chỉ khi xuất bản

Ive mò mẫm trong bảng điều khiển firefox và fiddler. Tôi đã không tìm thấy bất cứ điều gì hữu ích ở đó, nhưng sau đó một lần nữa tôi không thực sự biết những gì tôi thậm chí nên tìm kiếm. Một số bài viết khác nói để kiểm tra nhật ký máy chủ nhưng đó là một vấn đề trong chính nó vì khi tôi cố gắng tải xuống, di chuyển, xem hoặc xóa tệp nhật ký mới nhất, tôi nhận được lỗi như "truyền tệp không thành công", "quyền truy cập 550 không thể tệp "," 500 không thể xóa tệp ".

Tôi không biết phải làm gì khác, một số lời khuyên xin vui lòng. Heres một số mã để gọi đến bộ điều khiển đăng nhập. Tôi sẽ không đăng ký phiên bản vì chúng có vẻ liên quan.

Ajax gọi:

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

Login điều khiển:

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

Mọi chuyện có vẻ khá chuẩn ở đây vì vậy tôi thực sự không biết những gì nó có thể là hoặc làm thế nào để thậm chí chẩn đoán

Trả lời

3

Tôi chạy vào một vấn đề tương tự, đó là kết quả của một số DLL tham chiếu nhất định không có mặt trong GAC của máy chủ (chỉ trên máy ảo có cài đặt bản beta MVC4). Giải pháp là để thiết lập những người phụ thuộc vào "Sao chép vào địa phương" trước khi biên dịch

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

Nếu bạn đang gặp vấn đề tương tự những liên kết này sẽ giúp bạn giải quyết nó:

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

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

+0

Cảm ơn bạn đã trả lời nhưng điều này không hiệu quả với tôi. Tôi đã có tất cả những dll (và một vài người khác để chắc chắn) sao chép vào thư mục wwwroot/bin của tôi trên máy chủ nhưng điều này không khắc phục được vấn đề. Vì chỉ có đăng ký và đăng nhập bộ điều khiển không làm việc và những người khác do tôi nghi ngờ cơ sở dữ liệu của tôi đã không được sao chép hơn. Không có tùy chọn để bao gồm các tệp App_Data khi tôi sử dụng tính năng xuất bản VS và tôi không thấy db ở bất cứ đâu trên máy chủ. Đây có lẽ là vấn đề mà tôi sẽ nghiên cứu ngay từ khi tôi chưa từng làm trước đây, nhưng bất kỳ bình luận nào để làm điều này có thể dễ dàng hơn được chào đón :) cảm ơn – parliament

+0

Bạn có thể chỉnh sửa bài đăng của mình để bao gồm chi tiết lỗi 500 thực tế không? Tắt 'thông báo lỗi thân thiện' trong trình duyệt của bạn và bật phần tử customErrors trong web.config để bạn có thể thấy thông báo lỗi thực tế. http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx – mellodev

+0

Tôi đã thêm vào tệp web.config của mình và tắt thông báo lỗi thân thiện: lỗi là giống nhau, chỉ cần: 500 - Lỗi máy chủ nội bộ. Có sự cố với tài nguyên bạn đang tìm kiếm và không thể hiển thị nó. – parliament

Các vấn đề liên quan