【问题标题】:Can't make WebAPI application work on windows 2008 server无法使 WebAPI 应用程序在 Windows 2008 服务器上运行
【发布时间】:2012-12-12 01:14:35
【问题描述】:

我是 Web API 应用程序的新手。我创建了我的第一个应用程序,只有一个简单的控制器,只有一个返回列表的 Get() 方法。 在我的电脑上它工作正常。即使在我发布解决方案并通过我的 IIS 7.5 访问它之后,结果也正常:我访问了

http://localhost/Application/api/Controller 

我得到了我期望的答案。

所以我继续下一步:将其部署到另一台服务器,以便我办公室的其他人可以访问它。我们使用的服务器运行 Windows 2008 服务器。我所做的只是简单地复制由 Visual Studio 2012 中的发布命令生成的 Publish 文件夹,并将其粘贴到服务器计算机的 inetpub\wwwroot 文件夹中。然后,我访问了在服务器上运行的 IIS 7.5,并使用 .NET 4.0 应用程序池创建了一个新应用程序,使用 Publish 文件夹作为其物理路径(与我在 PC 中将其发布到 IIS 的步骤完全相同)。

问题:当我尝试访问服务器机器(运行 Windows 2008 服务器)中的应用程序时,我收到 404 错误。它似乎试图找到一个物理路径 Application\api\Controller,并像我的机器一样在逻辑上解决它。

我确实尝试了我在网上找到的所有不同解决方案:

  • 我确实在 IIS 中的应用程序的映射配置下启用了 ExtensionlessUrl-Integrated-4.0 中的所有动词。
  • 我确实添加了 WebApiConfig.Register(GlobalConfiguration.Configuration);在我的全球 asax 中。

我注意到我的机器安装了 .NET Framework 4.5,而服务器机器只有 4.0 框架(客户端和扩展)。但即使在编译了针对 4.0 框架的应用程序后,我也会遇到同样的错误。

我的 bin 目录中唯一的 MVC .dll 是 System.Web.Mvc.dll...我需要任何其他 DLL 吗?

提前致谢。

【问题讨论】:

  • 您可能还需要 System.Net.Http dll。
  • 是的,我也有... =) 我想说的是我那里没有任何其他 mvc 特定的 dll...(我想 System.Net.Http 是不仅仅用于 MVC)

标签: asp.net-mvc asp.net-web-api windows-server-2008 publish


【解决方案1】:

试试这个:

<system.webServer>
    .....
    <modules runAllManagedModulesForAllRequests="true" />
    .....
</system.webServer>

【讨论】:

    猜你喜欢
    • 2012-04-15
    • 2013-05-08
    • 1970-01-01
    • 2013-01-23
    • 2012-09-23
    • 2018-04-16
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多