3

我在 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 网站中不起作用?

4

2 回答 2

1

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

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

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

于 2012-07-19T15:25:25.273 回答
0

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

此致,

明旭。

于 2012-07-11T11:26:28.160 回答