Я создал приложение в сообществе Visual Studio ASP.NET Core с шаблоном Angular.Я обновил Angular моего проекта до v7.
Я пытался следовать этому примеру эта ссылка c-sharpcorner
Проблема возникает, когда я пытаюсь подключиться к серверу, используя https://localhost:44367/api/Employee/Index
, выдается исключение из-за невозможности подключения к серверу.
SqlException: ошибка сети или экземпляра, связанная с установкой соединения с SQL Server.Сервер не найден или не был доступен.Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений.(поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр)
Итак, я создал таблицу и процедуры в SQL Server, проверил их существование.Сервер запущен и настроен как по этой ссылке msdn .
Я включил TCP / IP и добавил новое правило в брандмауэр, чтобы разрешить все запросы портов TCP из локального домена.
Мой Employee.cs
был изменен с именем фактического проекта.
Мой EmployeeDataAccessLayer.cs
был изменен с именем фактического проекта и именем строки подключения, протестированной с ADO.NetМодель данных объекта.
Я также добавил строку подключения к web.config
.
Я добавил контроллер, в котором я изменил только имя проекта.
ВСлужба, с которой я внедряю код в мое приложение Angular, empservice.service.ts
, я столкнулся с некоторыми трудностями, потому что я не знаю, как изменить указанные ниже функции для использования HttpClient (map (rxjs) на наблюдаемом Http не работает).Поэтому я прокомментировал код сразу после завершения работы конструктора.
Служба зарегистрирована в приложении как провайдер.
import { Injectable, Inject } from '@angular/core';
import { Http, Response} from '@angular/http';
import { HttpClient } from '@angular/common/http';
import { Observable, of } from 'rxjs';
import { Router } from '@angular/router';
import { map } from 'rxjs/operators';
@Injectable()
export class EmployeeService {
myAppUrl: string = "";
constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string) {
this.myAppUrl = baseUrl;
}
//getEmployees() {
// return this.httpClient.get(this.myAppUrl + 'api/Employee/Index')
// .map((response: Response) => response.json()
// .catch(this.errorHandler));
//}
//getEmployeeById(id: number) {
// return this._http.get(this.myAppUrl + "api/Employee/Details/" + id)
// .map((response: Response) => response.json())
// .catch(this.errorHandler)
//}
Вопрос 1 Неправильно ожидать, что https://localhost:44367/api/Employee/Indexдать содержимое из таблицы?(реализации контроллера недостаточно?) Вопрос 2 Можете ли вы помочь мне адаптировать код из службы выше для получения данных внутри приложения Angular?