首页 > 解决方案 > RichTextBox 在本地服务器上工作,但不在 Azure Web API 服务器上

问题描述

我正在使用RichTextBox将从休息服务接收到的 RTF 文本转换为纯文本。

我已使用此MSDN中推荐的代码

同样在本地机器 IISExpress 服务器上工作,文本被转换为纯文本。但是,一旦部署在 Azure App Service(Web API) 上,我就会毫无例外地得到一个空白响应。

在服务器上发布代码时,我已确保它System.Windows.Forms.dll存在于我的 bin 文件夹中。

负责将文本转换为纯文本的代码。

try {
 RichTextBox rtBox = new RichTextBox();
 rtBox.Rtf = cm.Message;
 cm.Message = rtBox.Text;
} catch(Exception ex) {
 System.Diagnostics.Trace.TraceError("Error when RTF ::" + ex.StackTrace);
}   

这是我要转换的 RTF 文本:

{\rtf1\ansi\ansicpg1252\deff0\deflang2057{\fonttbl{\f0\fnil\fcharset0 EK03Plain-L01;}{\f1\fnil Courier New;}}{\colortbl ;\red0\green0\blue128;\red0\green0\blue0;}\viewkind4\uc1\pard\cf1\b\f0\fs20  \cf2   Sample Text 1\parSample Test 2\b0\f1\par\cf1\par}

在我的本地机器上运行此代码时:我得到以下预期输出:

Sample Text 1 \nSample Test 2

但在 Azure 上,它只返回一个空白响应。IE ””

标签: c#.netazurerichtextbox

解决方案


System.Windows.Forms.dll包含许多在 Azure 网站沙盒中很可能无法运行的 UI 代码。有关 azure web app 沙箱的更多详细信息,请参阅此处

并且有一个不使用的解决方法System.Windows.Forms.dll,看看这个答案


推荐阅读