asp.net mvc3 응용 프로그램을 게시하는 데 문제가 있습니다. 배포 할 때 응용 프로그램이 "경로 용 컨트롤러/Dashboard/Alarmes '를 찾을 수 없거나 IController를 구현하지 않습니다"여기서 Alarm은 DashboardController에서의 작업입니다. 그것과 관련이 있는지 확실하지 않지만 Alarms는 Json 결과를 반환합니다.배치 된 MVC 응용 프로그램이 작동하지 않습니다.
또 다른 주목할 점은 동일한 솔루션의 다른 프로젝트에서 참조하는 일부 어셈블리가 배포되지 않는다는 것입니다 (mvc 프로젝트에서 참조하는 경우에만 해당).
이러한 정보를 알려주십시오.
업데이트 :
라우트 등록 :
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{*allpng}", new { allpng = @".*\.png(/.*)?" });
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
routes.IgnoreRoute("{directory}/{resource}.asmx/{*pathInfo}");
routes.MapRoute("Default", "{controller}/{action}/{id}", new {
controller = "Dashboard",
action = "Index",
id = UrlParameter.Optional
});
}
조치 :
public ActionResult Alarmes() {
var alarmesPorPonto = new Dictionary<string, List<Ponto>>();
var alarmes = _repositorioDeAlarmes.Pesquise(ObtenhaInicio(), DateTime.Today);
foreach (var alarme in alarmes) {
var tipo = alarme.Tipo;
var ponto = alarme.Ponto;
if (!alarmesPorPonto.ContainsKey(tipo.Nome)) {
alarmesPorPonto.Add(tipo.Nome, new List<Ponto>());
}
if (!alarmesPorPonto[tipo.Nome].Contains(ponto)) {
alarmesPorPonto[tipo.Nome].Add(ponto);
}
}
return Json(alarmesPorPonto.Select(a => new { Tipo = a.Key, a.Value.Count }), JsonRequestBehavior.AllowGet);
}
또 다른 실종 정보 : 나는 가상 디렉토리에이 응용 프로그램을 배포하고 있습니다.
업데이트 2
전체 컨트롤러 클래스 :
public class DashboardController : Controller {
private readonly IRepositorioDeAlarmes _repositorioDeAlarmes;
private readonly bool _enableMap;
public DashboardController(IRepositorioDeAlarmes repositorioDeAlarmes) {
_repositorioDeAlarmes = repositorioDeAlarmes;
_enableMap = Convert.ToBoolean(ConfigurationManager.AppSettings["EnableMap"]);
}
public ActionResult Index() {
ViewBag.EnableMap = _enableMap;
return View();
}
public ActionResult Alarmes() {
var alarmesPorPonto = new Dictionary<string, List<Ponto>>();
var alarmes = _repositorioDeAlarmes.Pesquise(ObtenhaInicio(), DateTime.Today);
foreach (var alarme in alarmes) {
var tipo = alarme.Tipo;
var ponto = alarme.Ponto;
if (!alarmesPorPonto.ContainsKey(tipo.Nome)) {
alarmesPorPonto.Add(tipo.Nome, new List<Ponto>());
}
if (!alarmesPorPonto[tipo.Nome].Contains(ponto)) {
alarmesPorPonto[tipo.Nome].Add(ponto);
}
}
return Json(alarmesPorPonto.Select(a => new { Tipo = a.Key, a.Value.Count }), JsonRequestBehavior.AllowGet);
}
}
라우팅 구성 코드와 DashboardController 코드를 게시 할 수 있습니까? – jolySoft
컨트롤러 클래스 정의도 게시 할 수 있습니까? 이 컨트롤러가 포함 된 어셈블리가 배포 된 웹 사이트의 'bin' 폴더에 있습니까? –
@Darin 네 그렇습니다. 페이지 자체에 액세스 할 수 있지만 작업 경보에 대한 호출이 실패합니다. – Fernando