我有一个 WebApi 项目,它包装了 Dynamics CRM Online Web 服务并提供了一个 REST api。我有一个简单的控制器,可以从 CRM 获取一些联系人并将它们返回给调用者。
当我在本地模拟器中运行它时,一切正常。但是,当我将项目部署到 Azure 时,我可以访问主页,但控制器都返回 http 500 错误。为什么会发生这种情况?以及如何进行故障排除以获取更多详细信息?
更新
问题在于在 Azure 中运行 Web 角色的 Server 2012 实例上缺少 Microsoft.IdentityModel.dll。我通过在 RDP 中打开 Web 角色实例、安装 Fiddler 并从 Fiddler 向本地 IIS 服务器发出请求来发现这一点。它以详细的错误响应。
现在我的问题是弄清楚如何在 Windows Azure Web 角色上启用 IdentityModel。您应该能够通过 Server 2012 添加角色和功能向导添加它,但它完全锁定在 Web 角色上。您不能选中任何尚未选中的框。这甚至可能吗?