gpt4 book ai didi

asp.net-mvc - 添加 TwilioController 基类继承后,Microsoft Azure MVC 3 Web 角色未启动

转载 作者:行者123 更新时间:2023-12-02 17:52:12 24 4
gpt4 key购买 nike

Azure Web 角色(MVC 3 项目)不会从 Twilio Controller 类启动

  • 我有一个托管在 MS Azure 上的 MVC 3 应用程序。它发布到 Azure Web 角色 - 没有问题。
  • 我添加了 Nuget Twilio 和 Twilio.Mvc 包。它仍然发布到 Azure Web 角色 - 没有问题。
  • 我添加了一个继承自 Mvc.TwilioController 基类的类,随后 Azure Web 角色不再启动。
  • 如果我删除 TwilioController 类继承,Web 角色就会启动。

项目在我的本地 VS Azure 模拟器环境中发布、运行并且 twilio 功能正常。

项目引用文献; Twilio.api、Twilio.mvc、Twilio.Twiml、RestSharp 和 NewtonSoft.Json 均设置为 CopyLocal=True。

所有 Azure 诊断日志记录/跟踪均已启用并每 5 秒发送到表存储,但当 Web 角色无法启动时没有可用的日志数据。注意:如果我注释掉 twilioController,我会获得大量日志数据,以便正确配置 Azure Diags。

由于 Web 角色继续中止/循环/中止,因此没有机会通过 RDP 连接到虚拟机以进行进一步的故障排除。

<小时/>

大约每分钟就会将以下两个错误写入失败的 Web 角色的 Windows 系统事件日志:

The application '/' belonging to site '1273337584' has an invalid AppPoolId 'ca5c9ecb-e68d-4f3a-84c2-c0b4430373e9' set. Therefore, the application will be ignored.

.

Site 1273337584 was disabled because the root application defined for the site is invalid. See the previous event log message for information about why the root application is invalid.

<小时/>

重现步骤(确切步骤):

  1. Install Azure Sdk v 1.6
  2. 使用 Azure 模板 (Visual Studio 10 sp1) 创建新项目
  3. 选择 Asp.net MVC 3 Web 角色
  4. 构建并发布到 Azure
  5. 成功 - Web 角色启动
  6. 添加 Nuget 包“Twilio”版本 3.3.2
  7. 添加 Nuget 包“Twilio.Mvc”版本 3.1.3
  8. 构建并发布到 Azure
  9. 成功 - Web 角色启动
  10. 创建一个空 Controller (HelloController)。请参阅下面的代码片段。
  11. 添加 TwilioController 基类(例如 Public Class HelloController : TwilioController)
  12. 构建并发布到 Azure
  13. 失败 - 网络角色只是循环/中止/循环。
  14. 注释掉 TwilioController(例如公共(public)类 HelloController//:TwilioController)
  15. 构建并发布到 Azure
  16. 成功 - Web 角色启动

    using System.Web.Mvc;
    using Twilio.TwiML.Mvc;
    namespace WindowsAzureProject857481.Controllers
    {
    public class HelloController : TwilioController
    {
    //
    // GET: /Hello/

    public ActionResult Index()
    {
    return View();
    }

任何想法表示赞赏。

谢谢,吉姆

最佳答案

吉姆:

我为 Twilio 工作,并拥有 the .NET helper library .

发生的情况是,Twilio.Mvc 程序集正在寻找 2.0 版本的 System.Web.Mvc 程序集,因为这是它构建的目标。它没有找到它,因为它显然没有与您的 MVC 3 项目打包在一起。

修复相当简单。获取 Twilio.Mvc 源,将引用更改为较新版本的 MVC 并重新编译程序集。我相信,如果您不想自己动手,我们的支持团队会与您联系,提供我为您构建的版本。

如果您想尝试的话,我认为可能还有一种方法可以使用程序集绑定(bind)重定向来解决问题。

德文

关于asp.net-mvc - 添加 TwilioController 基类继承后,Microsoft Azure MVC 3 Web 角色未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8512228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com