2016-01-10 6 views
0

я создать пример проект с ASP.NET MVC 5 и рамками сущностей теперь, когда я хочу, чтобы запустить этот проект я столкнуться йотой этой ошибки:asp.net MVC 5 Ошибка сервера в приложении «/»

enter image description here

на моем компьютере установлен .net 4.5 и 4.5.1, а моя версия iis - тоже 8.

это мой контроллер:

using System; 
using System.Collections.Generic; 
using System.Data; 
using System.Data.Entity; 
using System.Linq; 
using System.Net; 
using System.Web; 
using System.Web.Mvc; 
using mvcWebApp01.Models; 

namespace mvcWebApp01.Controllers 
{ 
    public class HomeControllers : Controller 
    { 
     private DataBaseContext db = new DataBaseContext(); 

     // GET: HomeControllers 
     public ActionResult Index() 
     { 
      return View(db.People.ToList()); 
     } 

     // GET: HomeControllers/Details/5 
     public ActionResult Details(int? id) 
     { 
      if (id == null) 
      { 
       return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
      } 
      Person person = db.People.Find(id); 
      if (person == null) 
      { 
       return HttpNotFound(); 
      } 
      return View(person); 
     } 

     // GET: HomeControllers/Create 
     public ActionResult Create() 
     { 
      return View(); 
     } 

     // POST: HomeControllers/Create 
     // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
     // more details see http://go.microsoft.com/fwlink/?LinkId=317598. 
     [HttpPost] 
     [ValidateAntiForgeryToken] 
     public ActionResult Create([Bind(Include = "Id,FullName")] Person person) 
     { 
      if (ModelState.IsValid) 
      { 
       db.People.Add(person); 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 

      return View(person); 
     } 

     // GET: HomeControllers/Edit/5 
     public ActionResult Edit(int? id) 
     { 
      if (id == null) 
      { 
       return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
      } 
      Person person = db.People.Find(id); 
      if (person == null) 
      { 
       return HttpNotFound(); 
      } 
      return View(person); 
     } 

     // POST: HomeControllers/Edit/5 
     // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
     // more details see http://go.microsoft.com/fwlink/?LinkId=317598. 
     [HttpPost] 
     [ValidateAntiForgeryToken] 
     public ActionResult Edit([Bind(Include = "Id,FullName")] Person person) 
     { 
      if (ModelState.IsValid) 
      { 
       db.Entry(person).State = EntityState.Modified; 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 
      return View(person); 
     } 

     // GET: HomeControllers/Delete/5 
     public ActionResult Delete(int? id) 
     { 
      if (id == null) 
      { 
       return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
      } 
      Person person = db.People.Find(id); 
      if (person == null) 
      { 
       return HttpNotFound(); 
      } 
      return View(person); 
     } 

     // POST: HomeControllers/Delete/5 
     [HttpPost, ActionName("Delete")] 
     [ValidateAntiForgeryToken] 
     public ActionResult DeleteConfirmed(int id) 
     { 
      Person person = db.People.Find(id); 
      db.People.Remove(person); 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 

     protected override void Dispose(bool disposing) 
     { 
      if (disposing) 
      { 
       db.Dispose(); 
      } 
      base.Dispose(disposing); 
     } 
    } 
} 
+0

Изменение '' HomeControllers' в HomeController' –

+0

Проверьте средство просмотра событий, как правило, имеет более описательные сообщения об ошибках, чем IIS – Ruskin

+0

танки так много @miparnisari вы безопасно моя жизнь :) – saman

ответ

1

ASP.NET следует "соглашение по конфигурации" подхода. Это означает, что, например, для создания экземпляров ваших контроллеров фабрика контроллера по умолчанию будет пытаться искать классы по соглашению об именах <Name>Controller. Если вам не нравится этот подход, вы можете написать свою собственную фабрику контроллеров (см., Например, here), но в целом это необязательно.

Чтобы устранить эту проблему, переименуйте HomeControllers на номер HomeController.