Я работаю над созданием отчета CSV в асинхронной среде MQ.
У меня настроена конечная точка, которая точно возвращает результаты CSV, то есть:
Column 1, Column2, Column 3\r\nValue 1, Value 2, Value 3
Однако, как только это сообщение сериализуется и отправляется в качестве ответа, каждыйрезультат с двойным экранированием, т. е.
\"Column 1, Column 2, Column 3\\r\\nValue 1, Value 2, Value 3\"
..., который выполняет синтаксический анализ результата с буквенными кавычками и символами новой строки, что, очевидно, не является допустимым форматом для CSV.
Я пробовал string.Trim('"')
и Regex.Unescape()
на возвращаемом значении, прежде чем возвращать ApiController.Ok(value)
, но это сериализация в самом методе OK
, которая избегает символов.Я не могу удалить их на стороне извлечения, потому что фреймворк также обрабатывает HTML и PDF и должен быть независим от формата возвращаемой строки - плюс, эта конечная точка будет использоваться в большем количестве мест и должна возвращать неэкранированную строку.
Есть идеи как это предотвратить?