Мне трудно сделать выбор между преимуществами и недостатками сценариев, о которых я собираюсь упомянуть. Мне нужно мнение о том, какую архитектуру выбрать для моего .NET-приложения, используя N-уровневую архитектуру и написав интерфейсную часть с помощью Blazor.
Мне нужно мнение об архитектуре.
Вариант 1 возможен только с Blazor Server. ViewModels по-прежнему может быть хорошим вариантом, но да, вы можете напрямую вызывать службы.
Вариант 2 необходим для Blazor Wasm и необязателен для Blazor Server.
То, что вы выберете, полностью зависит от того, какие у вас есть другие требования.
Blazor в любом случае будет вашим слоем презентации. Если вы используете Blazor на стороне сервера, вам следует просто получить доступ к следующему уровню, если вы используете WASM Blazor, у вас должен быть WebAPI в качестве уровня представления для вашей серверной стороны, и ваше приложение WASM Blazor будет выполнять к нему вызовы.