发布后,mvc4应用程序不会从iis 8.5上的主干集合URL加载控制器

时间:2014-07-21 14:41:11

标签: c# asp.net-mvc-4 iis backbone.js

这是我第一次尝试发布Web应用程序;我正在使用IIS 8.5。该应用程序是一个Backbone应用程序,它检索并保存SQL Server 2008上的数据。我有一些问题显示图像和一些其他文件,但我设法解决它。但是,主干的主要集合没有加载。我得到GET http://localhost/Edit/GetQuestions 404 (Not Found),其中Edit是控制器。当我从VSTO 2013运行时,该应用程序没有任何问题,但是一旦部署就无法找到MVC4控制器。这是我的收藏

App.Collections.Questions = Backbone.Collection.extend({
    model: App.Models.Question,
    url: '../Edit/GetQuestions',    

});

我在网址中添加了“..”以测试是否有效,因为我必须这样做才能从CSS网址加载图片。有或没有'..'没有加载控制器。

这是我的路线配置:

 routes.MapRoute(
                "Questions",
                "{Controller}/{action}",
                new { Controller = "Edit", action = "GetQuestions", id = UrlParameter.Optional }                   

            );

有人可以解释一下发生了什么,我该如何解决这个问题?由于这是我的第一个应用程序,我仍在学习并试图了解事情是如何工作的。我用谷歌搜索,但找不到任何与我正在经历的这个问题有关的事情。

如果您需要我在问题中添加任何其他内容,请与我们联系。我不确定什么是有用的,什么不是。

2 个答案:

答案 0 :(得分:0)

试试这个:

//model url
url: 'Edit/GetQuestions' 

 //Router config.
 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Edit", action = "GetQuestions", id = UrlParameter.Optional }
        );

答案 1 :(得分:0)

参考change web application authentication to use Windows Authentication。事实证明,控制器或URL没有问题,它是未建立的SQL服务器的身份验证,无法检索数据。