Замена JSRuntime.Current в Blazor-WebAssembly - PullRequest
0 голосов
/ 04 августа 2020

Работа над несколько нестандартным Доказательство концепции Blazor в настоящее время - попытка использовать Blazor WebAssembly для преобразования данных на клиенте в контексте стандартного Javascript SPA (React) .

В настоящее время у меня возникла проблема, из-за которой был удален точный API, который мне нужно использовать - JSRuntime.Current. Для выполнения преобразований данных мне нужен двусторонний обмен сообщениями между модулем WebAssembly и JS. Преобразование данных происходит с интервалами с использованием System.Timers, что означает, что я не могу просто использовать метод stati c и возвращать обработанные данные, а мне нужно напрямую вызывать соответствующую функцию JS через регулярные интервалы времени.

Это означает, что я сталкиваюсь с проблемой (-ами):

  • Если классы и методы являются динамическими c, я могу внедрить JSRuntime в экземпляр, но не вызывать соответствующие C# методы via JS
  • Если классы и методы являются stati c, я могу вызвать C# через JS, но я не могу вызвать JS, чтобы вернуть его после обработки

Лучшее решение, которое я смог создать до сих пор, - это обмен сообщениями PubSub между методами stati c и Dynami c, что является совершенно нелепым способом решения этой проблемы.

Идеи?

...