我在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。
我有
为什么api无法在Azure网站中运行的任何想法?
答案 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角色或虚拟机。
最诚挚的问候,
徐明。