潜在的ASP.NET路由问题? (控制器方法调用失败)

时间:2015-07-30 17:09:09

标签: asp.net asp.net-mvc

我正在尝试解决从ASP.NET Web应用程序中的某些javascript对控制器方法的简单调用问题。在所有情况下,我从测试服务器获得500内部服务器错误响应,但从Visual Studio运行时,代码在我的localhost上正常工作。值得注意的是,在测试服务器上,应用程序未部署在服务器的根目录,而是部署在./apps/testApp。

客户端代码:

   var strMethodUrl = "./Opportunities/DummyData";
   $.getJSON(strMethodUrl, function (data) {

      opportunities = data;
      callback(opportunities);
   })
   // Using jQuery interface as of v1.8 (https://api.jquery.com/jquery.getjson/)
   .done(function() {
       var debugString = "getOpportunitiesData:$.getJSON.done";
       console.log(debugString);
       alert(debugString);
   })
   .fail(function() {
       var debugString = "getOpportunitiesData:$.getJSON.fail";
       console.log(debugString);
       alert(debugString);
   })
   .always(function() {
       var debugString = "getOpportunitiesData:$.getJSON.always";
       console.log(debugString);
       alert(debugString);
   });~

控制器代码位于Visual Studio 2013项目的Controller子目录中,名为OpportunitiesConroller.cs。它包含这个虚拟t / sing方法:

    // GET: Opportunties
    public ActionResult DummyData()
    {

        var opportunities = new List<OpportunityModel>();

        var opportunity = new OpportunityModel() { AdvertisementID = "ID_TEST", RankRange = "RANK_TEST", QualificationSummary = "QUAL_TEST", MissionName = "MISSION_TEST", ReportDate = DateTime.Now, EndDate = DateTime.Now, Location = "LOCATION_TEST" };
        opportunities.Add(opportunity);

        return this.Json(opportunities, JsonRequestBehavior.AllowGet);

    }

这里添加的是路线注册:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("");

        routes.MapRoute(
            name: "Default",
            url: "apps/testApp/{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }

如上所述,从VS2013运行时,这一切都适用于本地开发机器。 然后将该项目部署到www.TESTSERVER.com/apps/testApp。

当导航到执行上述javascript的页面时,浏览器的调试器会显示动态请求的500错误(https://www.TESTSERVER.com/apps/testApp/Opportunities/DummyData)。 当我将https://www.TESTSERVER.com/apps/testApp/Opportunities/DummyData直接输入浏览器时,它还会输出错误页面:'/ apps / testApp'应用程序中的服务器错误。

更新: 感谢一些很棒的建议,我们能够启用远程服务器错误信息,结果证明以上所有内容都是真正的问题。没有机会解决问题,但错误信息是:

Parser Error 
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details    and modify your source file appropriately. 

Parser Error Message: Could not load type 'testApp.Api.MvcApplication'.

Source Error: 


Line 1:  <%@ Application Codebehind="Global.asax.cs" Inherits="testApp.Api.MvcApplication" Language="C#" %>


Source File: /apps/testApp/global.asax    Line: 1 

有什么想法吗?

由于

0 个答案:

没有答案