簡體   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