RichTextBox работает на локальном сервере, но не на Azure Web API Server - PullRequest
0 голосов
/ 17 июня 2019

Я использую RichTextBox для преобразования текста RTF, полученного от службы отдыха, в обычный текст.

Я использовал код, рекомендованный в этом MSDN

То же самое работает на локальном компьютере, сервере IISExpress, где текст преобразуется в обычный текст. Однако после развертывания в службе приложений Azure (веб-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 он просто возвращает пустой ответ. т.е. ""

1 Ответ

0 голосов
/ 18 июня 2019

System.Windows.Forms.dll содержит много кода пользовательского интерфейса, который, скорее всего, не будет работать в изолированной программной среде веб-сайтов Azure.Для получения более подробной информации о песочнице веб-приложения Azure, пожалуйста, обратитесь к здесь .

. И есть обходной путь без использования System.Windows.Forms.dll, посмотрите на этот ответ .

...