我是Web API应用程序的新手。我创建了我的第一个应用程序,只有一个简单的Controller,只有一个Get()方法返回一个List。 在我的电脑上它工作正常。即使在我发布解决方案并通过我的IIS 7.5访问它之后,结果仍然可以:我访问
http://localhost/Application/api/Controller
我得到了我期待的答案。
所以我继续前进到下一步:将其部署到另一台服务器,以便办公室中的其他人可以访问它。我们使用的服务器运行Windows 2008服务器。我所做的只是复制Visual Studio 2012中由publish命令生成的Publish文件夹,并将其粘贴到服务器计算机的inetpub \ wwwroot文件夹中。然后,我访问了服务器上运行的IIS 7.5并使用.NET 4.0应用程序池创建了一个新应用程序,使用Publish文件夹作为其物理路径(与我在PC中执行的步骤完全相同,将其发布到我的IIS)。
问题:当我尝试访问服务器计算机(运行Windows 2008服务器)中的应用程序时,出现404错误。它似乎试图找到一个物理路径Application \ api \ Controller,它在逻辑上像我的机器一样解决它。
我确实尝试过在网络上找到的所有不同解决方案:
我注意到我的机器安装了.NET Framework 4.5,服务器机器只有4.0框架(客户端和扩展)。但即使在编译面向4.0框架的应用程序后,我也会遇到同样的错误。
我的bin目录中唯一的MVC .dll是System.Web.Mvc.dll ...我还需要其他任何DLL吗?
提前致谢。
答案 0 :(得分:6)
试试这个:
<system.webServer>
.....
<modules runAllManagedModulesForAllRequests="true" />
.....
</system.webServer>