XML в Blazor ... Wasm: [System.PlatformNotSupportedException] Операция не поддерживается на этой платформе - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь сделать некоторые вещи XML в Blazor, и все, что я могу получить, это 2 сообщения об ошибках.Первое, что я пытаюсь (используя локальный файл XML), даже не могу найти его ...

string xmlPath = "C:\\Users\\me\\Desktop\\users.xml";
XElement contacts = XElement.Load(xmlPath);
Console.WriteLine(contacts);

Это выдает ошибку, говорящую WASM:

[System.IO.FileNotFoundException] Не удалось найти файл "/C:\Users\me\Desktop\users.xml"

Он добавил / в начале пути.

Илиесли я использую случайный онлайн XML, я получаю ошибку «не поддерживается».Например ...

XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load("https://www.w3schools.com/xml/note.xml");

Полная ошибка, отображаемая в Wasm:

[System.PlatformNotSupportedException] Операция не поддерживается на этой платформе.

Это просто тот случай, когда Web Assembly не поддерживает классы XML или что-то в этом роде?

1 Ответ

0 голосов
/ 27 февраля 2019

Веб-сборка, а также JavaScript не могут получить доступ к локальным файлам, находящимся в браузере пользователя.При попытке доступа к локальному файлу веб-сборка отображает уведомление, сообщающее пользователю, что он не может найти файл.Это стандартная процедура в этом случае.

Что касается второй ошибки: вы пытаетесь сделать http-запрос из приложения Blazor на сервер, расположенный в другом домене, что требует настройки CORS, но это не основнаявопрос.XmlDocument не может вызвать запрос http, используя HttpClient.Я не уверен, что он вообще может создать свой собственный экземпляр HttpClient, и если он это делает, этот HttpClient должен быть настроен с теми же настройками, которые установлены по умолчанию для HttpCient, установленного Blazor ...

Надеюсь, это поможет...

...