RichTextBox可在本地服务器上运行,但不能在Azure Web API服务器上运行

时间:2019-06-17 09:18:20

标签: c# .net azure richtextbox

我正在使用RichTextBox将RTF文本从其余服务接收转换为纯文本。

我已使用此MSDN

中推荐的代码

Same在本地计算机IISExpress服务器上工作,在该计算机上文本被转换为纯文本。但是,一旦部署到Azure App Service(Web API)上,我将得到空白响应,没有任何例外。

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

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

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上,它只返回一个空白响应。即“”

1 个答案:

答案 0 :(得分:0)

System.Windows.Forms.dll包含许多UI代码,这些代码很可能在Azure网站沙箱中不起作用。有关Azure Web应用程序沙箱的更多详细信息,请参阅here

有一个不使用System.Windows.Forms.dll的解决方法,请看一下answer