#c# #microservices #asp.net-core-identity #ocelot
#c# #микросервисы #asp.net-core-identity #ocelot
Вопрос:
Я пытаюсь реализовать Asp.net идентификация ядра с микросервисами. Я создал один микросервис для идентификации. Перенес идентификатор и создал таблицы. Я создал другой проект для отображения значений из микросервисов. Я успешно получаю и публикую значения с помощью микросервисов. Но ошибка показывает, что код состояния 404 не найден при отправке значений в identity microservice.
Ниже приведен код для использования веб-API в микросервисе Identity путем вызова identity
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(User user)
{
HttpClient client = api.Initial();
var postTask = client.PostAsJsonAsync<User>("identity", user);
postTask.Wait();
var result = postTask.Resu<
if (result.IsSuccessStatusCode)
{
return RedirectToAction("Index");
}
return View(user);
}
Ниже приведен метод Post контроллера identity API
[HttpPost]
public async Task<IActionResult> Post([FromBody] UserViewModel user)
{
var idenUser = new MembershipUser();
idenUser.Email = user.Email;
idenUser.ChurchId = user.ChurchId;
idenUser.IsDeleted = false;
idenUser.PhoneNumber = user.MobileNo;
idenUser.UserName = user.LoginName;
var resultCreate = await userManager.CreateAsync(idenUser,
user.Password);
if (resultCreate.Succeeded)
{
return StatusCode(StatusCodes.Status201Created, user);
}
else
{
return StatusCode(StatusCodes.Status404NotFound, user);
}
}
Ниже приведен код доступа к API ocelot.json для API идентификации
{
"DownstreamPathTemplate": "/api/IdentityAPI",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": "57608"
}
],
"UpstreamPathTemplate": "/identity",
"UpstreamHttpMethod": [ "GET", "POST" ]
},
{
"DownstreamPathTemplate": "/api/IdentityAPI/{id}",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": "57608"
}
],
"UpstreamPathTemplate": "/identity/{id}",
"UpstreamHttpMethod": [ "GET", "PUT", "DELETE" ]
}
Комментарии:
1. Не могли бы вы опубликовать сообщение об ошибке, чтобы мы могли лучше понять вашу проблему?
2. Вызов другого веб-API в этом проекте работает нормально, но при попытке вызвать этот элемент управления identity Web API не входит в этот веб-API и возвращает ошибку 404 Not found.