Iis Azure上的Web API错误,直到应用程序池被回收

Iis Azure上的Web API错误,直到应用程序池被回收,iis,azure,asp.net-web-api,azure-web-roles,Iis,Azure,Asp.net Web Api,Azure Web Roles,我有一个web角色,托管4个MVC4站点。其中一个站点(从现在起我们称之为API站点)同时使用MVC和Web API。升级web角色时,API站点的web API控制器会向所有请求返回500个内部服务器错误。MVC控制器按预期工作,我知道请求至少与global.asax的Application_BeginRequest方法一样远。我的Elmah日志中没有任何记录。我得到的唯一错误提示是事件日志中的以下内容: 属于站点“1”的应用程序“/”设置了无效的AppPoolId“DefaultAppPoo

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

属于站点“1”的应用程序“/”设置了无效的AppPoolId“DefaultAppPool”。因此,应用程序将被忽略

由于web角色使用带有GUID的应用程序池作为标识符,我不知道这是从哪里来的

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

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


关于如何使Web API正确启动,有什么建议吗?

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

它发展到了我可以从我的机器上部署而不出现问题的地步,但我的同事却不能

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

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


我怀疑这在我们升级机器上的Azure SDK和工具时得到了解决。

我建议您登录(远程桌面)到虚拟机并检查事件日志。我已经这样做了。这就是我在问题中提到的错误的原因。我看不出还有什么其他重要的东西。你能在你的代码中放一些跟踪日志来找出是哪一个导致了问题吗。我以前也有过类似的问题。但和你的不一样。我需要多次上载包才能找到问题。您的IIS中有多少个应用程序池?有4个应用程序池具有GUID名称(每个站点一个)和默认的“.Net 4.5”和“.Net 4.5 Classic”应用程序池。