在Windows Azure网站上运行的ASP.Net API

时间:2012-07-10 10:46:44

标签: azure asp.net-web-api azure-web-sites

我在Visual Studio 2012 RC中有一个MVC项目,它包含一个MVC网站和一个ASP.NET API。我使用路由将请求委托给正确的控制器。

在我的本地开发机器上,网站和api都可以正常工作。但是,当我将更改推送到Azure网站时,网站可以正常工作,但ASP.NET web api会返回HTTP 500错误。

基础网站是:http://salaahtime.azurewebsites.net 其中一个网站页面是http://salaahtime.azurewebsites.net/website/login

API的示例用法是http://salaahtime.azurewebsites.net/api/salaahtime/testestablishment/2012/1

然而,这会返回HTTP 500。

我有

  • 更新了我的项目以使用.net 4.0。默认情况下,它设置为.net 4.5,它不适用于Azure网站
    • 删除了仅适用于.net 4.5
    • 的Entity Framework 5.0参考

为什么api无法在Azure网站中运行的任何想法?

2 个答案:

答案 0 :(得分:1)

使用Visual Studio 2012的RC版本将项目从4.5降低到4.0时存在一个已知问题。我知道这听起来会有点痛苦,但你最好还是创建一个新项目并设置项目的框架版本为4而不是4.5。这是一个应该在产品发布之前修复的问题。

希望这会有所帮助。相信我,我们知道它并且在我们自己的开发工作中不得不使用4框架重新创建项目。

此外 - 一旦4.5框架正式发布,Windows Azure网站将支持4.5框架。

答案 1 :(得分:0)

请尝试关闭自定义错误(http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx),这可能会提供更详细的信息。如果您正在使用数据库,请确保已更新连接字符串以使用Windows Azure SQL数据库而不是本地数据库。 Web API也可能没有Web站点。网站名称表明它用于构建网站,而不是网络平台。与Web角色和虚拟机相比,Web站点的功能有限。如果是这种情况,请使用Web角色或虚拟机。

最诚挚的问候,

徐明。