Проблема с обработкой URI Saxon XSLTC#

Место общения программистов C#
Ответить
Anonymous
 Проблема с обработкой URI Saxon XSLT

Сообщение Anonymous »

У меня есть компонент, написанный на .NET/C#, который выполняет обработку XSLT с использованием SaxonCS. Этот компонент отлично работает при запуске в хост-приложении Windows. Но когда я запускаю его в контейнере Docker, у меня возникают проблемы с разрешением URI. Код следующий:

Код: Выделить всё

processor = new Processor(configStream, new Uri("file://"));
uri = new Uri(new FileInfo(styleSheetPath).FullName);
try
{
var compiler = processor.NewXsltCompiler();
using FileStream styleSheetStream = new(styleSheetPath, FileMode.Open, FileAccess.Read);
Executable = compiler.Compile(styleSheetStream, uri);
}
catch (Exception ex)
{
}
При работе в хост-приложении Windows URI разрешается следующим образом:

Код: Выделить всё

file:///C:/[...Path to XSLT...]/Mapping.xslt
И при запуске в Docker он решает:

Код: Выделить всё

file:///app/[...Path to XSLT...]/Mapping.xslt
Но в Docker я получаю исключение:
"System.InvalidOperationException: эта операция не поддерживается для относительного URI".
Мне оба URI кажутся абсолютными, поэтому я не совсем понимаю ошибку.
Я бы хотел, чтобы это работало в обеих средах.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -uri-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»