繁体   English   中英

Twilio SMS 无法通过部署到 Web 服务器的 ASP.NET MVC C# web 工作(但在本地测试环境中工作正常)

[英]Twilio SMS not working via ASP.NET MVC C# web deployed to Web Server (but works fine in local test environment)

当我的团队在本地主机 ASP.NET MVC 和 C# 测试环境 (VS2022) 中对其进行测试时,我遇到了一个非常奇怪的情况,即通过 Twilio 发送的 SMS 消息正在工作。

但是在 Web 服务器上部署的版本会引发初始化错误,并且永远不会发送 SMS。

该代码位于一个名为Common的静态类中。 经过数小时的尝试,我发现(令我震惊)Twilio 在 Web 服务器上运行时没有从静态类正确初始化。 但它在本地主机测试环境中运行良好。

我的解决方案是将Common类从静态类更改为动态公共 IDisposable 类,并删除对“静态”的所有引用。 这是如何完成的是如此基本和冗长,以至于我觉得没有必要解释它。

我知道,我知道......为什么(见鬼)我在网页中使用静态类? 因为我从一个旧的 WinForms 应用程序中窃取了一堆工作代码,而它在其他所有应用程序中都运行良好。

以下是您如何调用名为Common的动态 IDisposable 类:

        Common thisCommon = new Common();
        thisCommon.Method();
        thisCommon.Dispose();

在这次可怕的经历之后,我决定永远不再在 C# / ASP.NET MVC 网页中使用静态类。 它并非在所有情况下都可靠。 而且,坦率地说,这可能是一个糟糕的想法。

正如我上面所说的,你不应该这么懒惰并在 MVC 5.0 C# Web 应用程序环境中使用静态类。 让它成为一个动态的 iDisposible 类,一切都会正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM