Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 32735|Ответ: 3

[ASP.NET] ASP.NET Core View использует капчу изображения Blazor

[Скопировать ссылку]
Опубликовано 07.04.2020 11:15:36 | | | |
Blazor — это фреймворк для создания интерактивных клиентских веб-интерфейсов с использованием .NET:
  • Используйте C# вместо JavaScript для создания насыщенного, интерактивного интерфейса.
  • Делитесь логикой приложений на серверной и клиентской сторонах, написанной в .NET.
  • Рендерить интерфейс в виде HTML и CSS для поддержки множества браузеров, включая мобильные браузеры.


Blazor — это веб-фреймворк, разработанный для работы на стороне клиента в браузере на базе WebAssembly на базе .NET (Blazor WebAssembly) или на серверной стороне в ASP.NET Core (сервер Blazor). Для любой управляемой модели приложения и компоненты одинаковы.

Серверы Blazor

Используйте модель хостинга серверов Blazor для запуска приложений на сервере из ASP.NET Core-приложений.Обновления интерфейса, обработка событий и вызовы JavaScript осуществляются черезSignalRСвязи с процессом



Модель хостинга серверов Blazor предлагает следующие преимущества:

  • Размер загрузки значительно меньше, чем в приложении Blazor WebAssembly, и приложение загружается гораздо быстрее.
  • Приложения могут полностью использовать возможности сервера, включая любые API, совместимые с .NET Core.
  • Для запуска приложения используется .NET Core на сервере, поэтому существующие .NET-инструменты, такие как отладка, работают как следует.
  • Тонкие клиенты поддерживаются. Например, серверное приложение Blazor подходит для браузеров, не поддерживающих Webassembly, и для устройств с ограниченными ресурсами.
  • Кодовая база приложения в формате .NET/C#, включающая компонентный код приложения, не работает на клиенте.


Хостинг серверов Blazor имеет следующие недостатки:

Задержка обычно выше. Каждое взаимодействие пользователя связано с переходом по сети.
Работа офлайн не поддерживается. Если клиентское соединение не работает, приложение перестаёт работать.
Если у вас несколько пользователей, возникают сложности с масштабируемостью приложений. Сервер должен управлять несколькими клиентскими соединениями и управлять состоянием клиента.
ASP.NET Для обслуживания приложения требуются серверы ядра. Сценарии развертывания без сервера невозможны (например, обслуживание приложений через CDN).

Начинается обучение:

1. Сначала создайте новый проект приложения Blazor с использованием vs2019, как показано ниже:



2. Создайте новый компонент Razor со следующим кодом:

Нам нужен пакет SkiaSharp, чтобы сгенерировать капчу base64 и установить её через nuget:

3. Начните проект, посетите:Вход по гиперссылке виден.

Сгенерированный html-код выглядит так:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>BlazorApp1</title>
    <base href="/" />
    <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
    <ссылка href="CSS/site.css" rel="лист стилей" />
</head>
<body>
    <app>
        <!--Blazor:{"sequence":0,"type":"server","prerenderId":"19210eabb9054fe79ea7cc3e6f501df5","descriptor": "CfDJ8G8mpuBWCflCst2FMatPfBxQE\u002Br1dzwAAKPTr0QFhEikdvN38F\u002BP7DcVOKo\u002BPF9p1ZAgdir\u002BYdhFqRpzbwsqEap4xG3gpcMVtLX2yGCGhOnh596O6KcFICrjAZGk82Q2lVu\ u002B94jRo6qJ9JgxrjzuAOxLvrXBlFoGwTssxsHOI2qoQHGwlv\u002BA\u002BGsyaTjfxZ8DAgqAuiwaHynCg0J18d/VUh8brr9FrMe91kKCVw0OLUVRjCXK0FXGvXPYKjEIuE9FY5w3EvO17tJJ/ 9LpOKmqEeYpk6FlOPeuviBB1LhHBrzycchpZAb8eNGY51tN5Gjcqf/uNOMHZYLXoxjj6bmug/62JJvaQ62OrFNqIJw6S730"}-->
        <div class="боковая панель">
    <div class="верхний ряд навигационной панели PL-4 navbar-dark">
    <a class="navbar-brand" href>BlazorApp1</a>
    <button class="переключатель навигационной панели">
        <span class="navbar-toggler-icon"></span>
    </button>
</div>

<div class="collapse">
    <ul class="навигационная гибкая колонка">
        <LI класс="nav-item PX-3">
            <a href="" class="nav-link">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </a>
        </li>
        <LI класс="nav-item PX-3">
            <a href="счетчик" класс="навигационная связь">
                <span class="oi oi-plus" aria-hidden="true"></span> Счётчик
            </a>
        </li>
        <LI класс="nav-item PX-3">
            <a href="fetchdata" class="nav-link">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Получить данные
            </a>
        </li>
    </ul>
</div>
</div>

<div class="основной">
    <div class="верхний ряд PX-4">
        <a href="https://docs.microsoft.com/aspnet/" цель ="_blank">О</a>
    </div>

    <div class="content px-4">
        <h3>Проверка</h3>


<p>
    (Блейзор) Пример того, как показать код верификации и проверить его.
</p>

<img style="border:solid 1px #ccc" src="data:image/jpeg;base64,...." />
<button>Продлевать</button>
<hr>
<div>Введите номер на изображении</div>
<form>
    <input type="text" style="padding:5px" />
    <button>Проверено</button>
</form>
<hr>
<button>TestClick</button>
    </div>
</div>
    <!--Blazor:{"prerenderId":"19210eabb9054fe79ea7cc3e6f501df5"}-->
    </app>

    <div id="blazor-error-ui">
            Произошло неурегулированное исключение. Подробности см. в разделе «Инструменты разработки браузера».
        
        <a href="" class="перезарядка">Перезарядка</a>
    </div>

    <script src="_framework/blazor.server.js"></script>
</body>
</html>


Попробуйте нажать кнопку — триггер события кнопки передаётся через SignalR, который основан на websocket, polling и т.д., как показано на рисунке ниже:


Ссылки на ссылки:

Вход по гиперссылке виден.





Предыдущий:Проблема с декомпилированными XAML-файлами
Следующий:Discuz(DZ) — это бессмысленное решение для пополнения туристических точек в XML
 Хозяин| Опубликовано 07.04.2020 11:45:47 |
Это значит немного двустороннего связывания


Опубликовано 15.11.2022 10:51:42 |
Однако это не означает, что этот сайт согласен с его взглядами и несёт ответственность за его подлинность
 Хозяин| Опубликовано 12.10.2023 20:02:48 |
Официальные результаты бенчмарка веб-фреймворка JS

Вход по гиперссылке виден.
Вход по гиперссылке виден.

Адрес на GitHub:Вход по гиперссылке виден.


Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com