2

简而言之,一切都在本地机器上工作,但在部署到服务器“A”时却不行。

我确定服务器“A”中缺少某些东西,但我不知道它是什么,并且我无权在那里进行更改或正确测试。

因此,我在这里寻求帮助和解决问题的想法,以便我可以建议服务器“A”的负责人,或者我需要对我的项目进行任何更改以使其在那里工作。

话虽如此,让我们谈谈我的项目......

我正在使用 Web Api,并且在 global.asax 中定义了一个路由,如下所示:

RouteTable.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
           defaults: new { id = System.Web.Http.RouteParameter.Optional });

我正在使用 Jquery ajax 和 Kendo UI 调用控制器,如下所示:

(这是一个假例子,只是为了证明这一点)

read: {
        url: function () {
               return "../api/Member/123";
        }
}

同样,在本地服务器上一切正常,但是当我部署它时,我会得到每个 web api 调用:

404 - File or directory not found.

没有其他的。

需要考虑的事项:

  • 我正在使用 .NET 4.0 框架编译项目。
  • 服务器“A”上的网站设置为使用 .NET 4.0 经典版(这可能是个问题吗?)
  • 我不认为 MVC 4 安装在服务器“A”中。Web Api 是否需要 MVC?
  • 服务器“A”正在运行 IIS 7

我在 web.config 文件中添加了以下内容,但仍然出现 404 错误:

<modules runAllManagedModulesForAllRequests="true"/>

如果您需要任何其他信息,请告诉我。

谢谢你的帮助!!

4

1 回答 1

0

下载 MVC4 以使用 ASP.NET WebAPI。http://www.microsoft.com/en-us/download/details.aspx?id=30683

于 2013-03-26T03:12:48.527 回答