2012-06-10 63 views
1

我有一个在AppHarbor上托管的Asp.net WebAPI服务,它在POST请求上引发404错误。虽然MVC 4控制器的POST位于相同的虚拟目录中,但其工作正常。WebApi POST在AppHarbor上返回404

相同的WebApi在localhost上工作。我想下面的选项,没有运气:

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true" > 
     <remove name="WebDAVModule" /> 
    </modules> 
    <handlers> 
     <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
     <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" /> 
</handlers> 

我也尝试设置基于URL的行动,以检查其是否正常工作,但没有运气。我甚至都装饰着方法:

[AcceptVerbs("POST")] 

会不会有任何需要被添加到web.config中,或者我错过任何身份验证设置。

+0

做其他基于'GET'的WebApi方法(例如)工作吗? – friism

+0

嗯,我在我的AH测试网站上安装了WebAPI,它正在工作......我想知道会有什么不同。你使用Nuget设置了WebAPI吗? – kamranicus

回答

1

解决了,这是因为数据库问题。我看了默认try..catch这是返回一个

HttpStatusCode.NotFound (404) 

而不是500错误代码。它现在正在运行。