После двух дней попытки решить эту проблему.
VS 2012 : Все хорошо (только отключенный IIS)
VS 2013: 0x80004005: Неопределенная ошибка
VS 2015: 0x80004005: Неопределенная ошибка
IIS Express через командную строку: Ошибка не удается найти «Мои документы \ IIS Express \ config \ applicationhost.config»
Решение:
Скопировано applicationhost.config И redirection.config из% programfiles% \ IIS Express \ config \ templates \ PersonalWebServer \ в папку «IIS Express \ config» в разделе Мои документы.
Убедитесь, что вы скопировали файл redirection.config, он НЕ предупредите об этом, просто сбой с ошибкой 0x80004005. Если вы хотите отслеживать входные / выходные данные файла.
Также запустите applicationhost.config в блокноте и убедитесь, что папка% IIS_BIN% \ AppServer \ empty_wwwroot WRITEABLE, скорее всего, эта папка находится под «% programfiles% \ IIS Express "и, следовательно, не записывается по умолчанию.
Также вполне возможно, что вам нужно установить% IIS_BIN% на«% programfiles% \ IIS Express ».
Итак:
Неправильно создавал JHipster в DTO длинный usuarioId, затем на угловой стороне они получают всех пользователей и сравнивают идентификатор, когда я сохраняю сущность, получаю объект пользователя с помощью поиска UserService при входе в систему.
Так вот как это работает, я думаю, что некоторые могут найти полезным
сначала в отношениях ManyToMany
@ManyToOne
@JsonIgnoreProperties("")
private User coordinador;
public User getCoordinador() {
return coordinador;
}
public ExtendedUser coordinador(User user) {
this.coordinador = user;
return this;
}
public void setCoordinador(User user) {
this.coordinador = user;
}
И в DTO
private Long coordinadorId;
private String coordinadorLogin;
public Long getCoordinadorId() {
return coordinadorId;
}
public void setCoordinadorId(Long userId) {
this.coordinadorId = userId;
}
public String getCoordinadorLogin() {
return coordinadorLogin;
}
public void setCoordinadorLogin(String userLogin) {
this.coordinadorLogin = userLogin;
}
С угловой стороны это выглядит так: component.html
<div class="form-group">
<label class="form-control-label" jhiTranslate="sigemApp.extendedUser.coordinador" for="field_coordinador">Coordinador</label>
<select class="form-control" id="field_coordinador" name="coordinador" [(ngModel)]="extendedUser.coordinadorLogin" >
<option [ngValue]="null"></option>
<option [ngValue]="userOption.login" *ngFor="let userOption of users; trackBy: trackUserById">{{userOption.login}}</option>
</select></div>
Наконец, в component.ts
users: IUser[];
this.userService.query().subscribe(
(res: HttpResponse<IUser[]>) => {
this.users = res.body;
},
(res: HttpErrorResponse) => this.onError(res.message)
);
trackUserById(index: number, item: IUser) {
return item.login;
}
getSelected(selectedVals: Array<any>, option: any) {
if (selectedVals) {
for (let i = 0; i < selectedVals.length; i++) {
if (option.id === selectedVals[i].id) {
return selectedVals[i];
}
}
}
return option;
}
Чтобы сохранить его, я использую userService, чтобы получить Пользовательский объект пользователя, так в службе пользователя
Optional<User> coordinador = userRepository.findOneByLogin(extendedUserDTO.getCoordinadorLogin());
updateExtendedUser.setCoordinador(coordinador.get());
extendedUserService.save(updateExtendedUser);