Używam MVC 3 z Visual Studio 2010 i C# 4.0. Moja aplikacja działa poprawnie w IIS Express z Visual studion i po wdrożeniu na zdalnym serwerze IIS 7.5 produkcji.Błąd routingu w usługach IIS 7 i IIS Express generujących błędy HTTP 404
Po przełączeniu na pełny serwer IIS 7.5 w moim systemie programistycznym nagle zaczęły pojawiać się błędy HTTP 404 dla działań w dwóch kontrolerach. Pozostałe kontrolery działają poprawnie. Jest to uruchomiona aplikacja z Visual Studio lub bezpośrednio z IIS.
Nie widzę różnic w konfiguracji.
jednego ze sterowników, że wystawia to zachowanie jest:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Configuration;
using Mbrrace.ApplicationServices.Validation;
namespace Mbrrace.WebUI.Areas.Validation.Controllers
{
public class ValidationController : Controller
{
//
// GET: /Validation/Validation/
[HttpGet]
public JsonResult PostcodeCheck([Bind(Prefix = "perinatalView")]AddressViewModel model)
{
// postcode has already been checked for correct format
// now look it up to see if it exists
if (PostcodeChecks.CheckPostcodeExists(ConfigurationManager.ConnectionStrings["CommonCodeEntities"].ConnectionString, model.Postcode))
{
return Json(true, JsonRequestBehavior.AllowGet);
}
return Json("This postcode was not found in the database", JsonRequestBehavior.AllowGet);
}
[HttpPost]
public JsonResult PostcodeExtendedCheck(String Postcode)
{
// check if it exists or of it's sector exists (all but last two characters
string message = PostcodeChecks.PostcodeExtendedCheck(ConfigurationManager.ConnectionStrings["MbrraceCommonCodeEntities"].ConnectionString,
Postcode, Postcode.Substring(0, Postcode.Length - 2));
string success = (message.Length == 0) ? "OK" : "NO";
var result = new { Success = success, Message = message };
return Json(result, JsonRequestBehavior.AllowGet);
}
public class AddressViewModel
{
public string Postcode { get; set; }
}
}
}
to zachowuje się zgodnie z oczekiwaniami w IIS Express i rozłożonym IIS. Zgłasza błąd 404, gdy usługi IIS są połączone z projektem w celu debugowania.
Czy ktoś może rzucić jakiekolwiek światło na to, dlaczego generowane są błędy 404?
Czy ustawiono tryb zarządzanego potoku do zintegrowania w puli aplikacji? – levelnis
Dzięki, tak, zrobiliśmy to, a także sprawdzamy "zezwalaj na aplikacje 32-bitowe". –
Czy możesz pokazać trasy dla tych kontrolerów? Czy są jakieś atrybuty akcji? Czy działają niestandardowe procedury obsługi? – levelnis