5

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

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

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

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

我已经尝试将应用程序池作为角色启动任务的一部分进行回收,但这似乎没有任何区别。

关于如何让 Web API 正确启动的任何建议?

4

1 回答 1

1

I never did find what was causing this issue.

It got to a point where I could deploy from my machine and not get the problem, but my colleague could not.

We tried comparing the contents of the .cspkg files that were produced, but didn't find any differences.

We are now both able to deploy the project with no problems.

My suspicion is that this was resolved when we upgraded the Azure SDK and tools on our machines.

于 2013-12-17T21:31:16.617 回答