在应用程序池被回收之前,Azure上的Web API错误

时间:2013-08-28 00:02:30

标签: iis azure asp.net-web-api azure-web-roles

我有一个托管4个MVC 4站点的Web角色。其中一个站点(从现在开始称之为API站点)使用MVC和Web API。当我升级Web角色时,API站点中的Web API控制器会向所有请求返回500内部服务器错误。 MVC控制器按预期工作,我知道请求至少要达到global.asax的Application_BeginRequest方法。我在Elmah日志中没有看到任何记录。我遇到的任何错误的唯一提示是事件日志中的以下内容:

  

属于网站“1”的应用程序“/”具有无效的AppPoolId“DefaultAppPool”集。因此,应用程序将被忽略。

由于Web角色使用带有guid作为标识符的App Pool,我不知道它来自何处。

最令人困惑的是,一旦我为API网站(这是一个guid)回收应用程序池,一切都开始正常工作。

我尝试将应用程序池重新命名为角色的启动任务的一部分,但这似乎没有任何区别。

有关如何使Web API正确启动的任何建议?

1 个答案:

答案 0 :(得分:1)

我从未找到导致此问题的原因。

它已经到了我可以从我的机器部署并且没有解决问题,但我的同事不能。

我们尝试比较生成的.cspkg文件的内容,但没有发现任何差异。

我们现在都能够毫无问题地部署项目。

我怀疑当我们在我们的计算机上升级Azure SDK和工具时,这已得到解决。