Я пишу угловое приложение. Основная проблема, с которой я столкнулся сейчас, заключается в том, что, когда мне нужно соединить мое приложение с моим внутренним сервером, что оно не может этого сделать, и что я получаю ошибку 0. Я также загрузил другое приложение, которое возвращает аналогичную ошибку. Учитывая, что ошибка 0 указывает на то, что проблема может быть буквально любой, я хотел бы знать, что вызывает проблему.
Насколько я знаю, проблемы не может быть, потому что мой сервер не работает должным образом. Это потому, что мое приложение работает с Swagger, и у Swagger нет заметных проблем с возвратом кода, который был проанализирован в JSON.
Таким образом, это должен быть мой фронтенд. Однако это также маловероятно, поскольку работает хорошо, пока не подключится к бэкэнду. (В моем коде это будет до строки 64 класса authentication.service.ts для проверки имени пользователя и до строки 40 аутентификации.service.ts для регистрации пользователя).
Я уже попросил мой антивирус Norton прекратить что-либо делать, чтобы посмотреть, не работает ли мое приложение из-за моего антивируса, но оказывается, что мой антивирус не делал ничего, чтобы помешать моему веб-интерфейсу подключиться к моему бэкэнду.
Если какой-то код работает неправильно, это должен быть код в этом методе:
checkUserNameAvailability = (username: string): Observable<boolean> => {
// console.log(username);
return this.http.get<boolean>(
`${environment.apiUrl}/User/checkusername`,
{
params: { username }
}
).pipe(catchError(err => {
console.error(err);
return of(null);
}))
}
Это код в authentication.service.ts от строки 62 до строки 73.
Я свяжусь с моими репозиториями на github ниже:
Угловой интерфейс: https://github.com/GuylianBollon/AngularFrontendWebIV
Бэкэнд C #: https://github.com/GuylianBollon/CbackendWebIV
Вот еще одна вещь, которую я нашел:
После того, как я подключил свой угловой интерфейс к своему C # бэкенду и сразу после него проверил соединение в командной строке, генерируется следующее. (Примечание: 44392 - это порт SSL моего бэкэнда C #).
C:\Users\Hp>netstat -a -n | findstr 44392
TCP 0.0.0.0:44392 0.0.0.0:0 LISTENING
TCP [::]:44392 [::]:0 LISTENING
TCP [::1]:44392 [::1]:53942 ESTABLISHED
TCP [::1]:53942 [::1]:44392 ESTABLISHED
После того, как я подожду около 1 минуты, будет сгенерировано следующее:
C:\Users\Hp>netstat -a -n | findstr 44392
TCP 0.0.0.0:44392 0.0.0.0:0 LISTENING
TCP [::]:44392 [::]:0 LISTENING
TCP [::1]:53942 [::1]:44392 TIME_WAIT
Не уверен, нормально это или нет, но я подумал, что это интересно.
Вот также json моего файла proxy.conf.json:
{
"/api": {
"target": {
"host": "localhost",
"protocol": "https",
"port": 44392
},
"changeOrigin": true,
"secure": false,
"logLevel": "warn"
}
}
Когда я открываю браузер после подключения моего углового интерфейса к своему бэкэнду C #, напишите что-нибудь в поле имени пользователя и подождите 2 минуты, будет сгенерировано следующее:
authentication.service.ts: 70
1. HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: «Unknown Error», url: «/ api / User / checkusername», ok: false,…}
1. error: ProgressEvent {isTrusted: true, lengthComputable: false, загружено: 0, всего: 0, тип: «error»,…}
2. заголовки: HttpHeaders {normalizedNames: Map (0), lazyUpdate: null, заголовки: Map (0)}
3. сообщение: «Http-сообщение об ошибке для / api / User / checkusername: 0 Unknown Error»
4. название: "HttpErrorResponse"
5. хорошо: ложь
6. статус: 0
7. statusText: «Неизвестная ошибка»
8. url: "/ api / User / checkusername"
9. proto : HttpResponseBase
апите / User / checkusername имени пользователя = а: 1
Не удалось загрузить ресурс: net :: ERR_EMPTY_RESPONSE