Предполагая, что веб-сайт B предоставляет WebAPI, у вас будет 2 варианта.
1) Извлечение данных со стороны сервера вашего проекта MVC
Поскольку вы утверждаете, что имеете опыт работы с HttpClient
это было бы довольно просто (пример ожидает рассмотрения).
Шаги, которые необходимо предпринять, следующие;при загрузке вашего представления:
- вызовите веб-интерфейс API (скорее всего, с вашего контроллера) и извлеките данные
- добавьте эти данные в вашу модель представления
- отобразить данные на вашей странице
пример: взят из: https://docs.microsoft.com/en-us/aspnet/web-api/overview/advanced/calling-a-web-api-from-a-net-client
Примечание: это не лучший пример: при использовании этого подхода, пожалуйста, сделайте еще несколько исследований
static HttpClient client = new HttpClient();
static async Task<Product> GetProductAsync(string path)
{
Product product = null;
HttpResponseMessage response = await client.GetAsync(path);
if (response.IsSuccessStatusCode)
{
var jsonString = await response.Content.ReadAsStringAsync();
model = JsonConvert.DeserializeObject<YOUROBJECTTYPE>(jsonString);
}
return product;
}
Одним из преимуществ здесь является то, что аутентификация часто проще. Недостатком является то, что загрузка вашей страницы будет медленнее.
2) Извлечение данных клиента, например: из браузера
Через javascript вы сможете получать данные. Возможно с jquery
или другими платформами. Обычно вы сначала загружаете страницу, а затем извлекаете данные.
Выполните следующие шаги:
- вызовите API из javascript и получите данные
- манипулировать страницей для отображения данных. Лучше всего это сделать с помощью
jquery
, react
, angular
, vue.js
, knockout
или аналогичных структур.
jQuery, например:
$.ajax({
type: 'GET',
url: 'api/Employees',
dataType: 'json',
success: function (data) {
//use the data here
}});
Страница будет загружена быстро. После загрузки страницы производится вызов API. Таким образом, страница реагирует на загрузку данных в фоновом режиме.
Недостатком здесь является то, что если вам нужна аутентификация, вы не можете хранить учетные данные на стороне клиента (например, javascript), поэтому вам нужен более качественный процесс аутентификации,Возможно куки или токены JWT.