【发布时间】:2012-03-30 23:29:27
【问题描述】:
我有一个 Web Api 应用程序。当我使用 VS 2010 调试开发服务器对其进行测试时,它运行良好。但我现在将它部署到 IIS 7.5,尝试访问应用程序时出现 HTTP 404 错误。
这是我的 web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-FlowGearProxy-20123141219;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="true" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
</pages>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
</configuration>
【问题讨论】:
-
我也有同样的问题。我还没有找到解决方案,但是我发现的一件事是,如果在 IIS 中选择站点,然后转到 Handler Mappings 功能,则静态文件的映射将 * 映射到必须存在的文件。当我删除此映射并为所有 HTTP 动词添加新映射时,我不再得到 404,它被一个空白页面替换。
-
>>使用 VS 2010 调试开发服务器。 ——又名邪恶的卡西尼。请参阅blogs.msdn.com/b/rickandy/archive/2011/04/22/… -- 如果这不起作用,创建一个新的 MVC 4 WebApi 应用程序并测试部署 - 简单
标签: c# asp.net-web-api iis-7.5 http-status-code-404